搬砖小弟
2019-06-24

运用设计模式,需要记住六大设计原则:

  • Single Responsibility Principle:单一职责原则
  • Open Closed Principle:开闭原则
  • Liskov Substitution Principle:里氏替换原则
  • Law of Demeter:迪米特法则
  • Interface Segregation Principle:接口隔离原则
  • Dependence Inversion Principle:依赖倒置原则
  • 少用继承,多用组合
2019-06-24

数据库命名规范

  • 所有数据库对象名称必须使用小写字母并用下划线分割
  • 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)
  • 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符
  • 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀
  • 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)
2019-06-24

GraphQL是什么?

GraphQl官方的定义是:

GraphQL是一种API的查询语言。 它用于运行时完成数据查询。 GraphQL服务与传输无关,但通常通过HTTP提供。

GraphQl特性

  • GraphQL query, 只请求需要的数据
  • GraphQL schema, 在服务器端定义了api的数据结构
  • 可以在一个请求中获取多个数据,如果是rest的话, 需要访问多个接口

与REST对比,REST的缺点的主要有以下:

  • Overfetching 往往会给客户端返回过多的数据
  • endpoints过多,管理endpoints是个问题。Endpoints修改,客户端也需要修改。