一、数据的设计。把数据分为静态和动态两类,时刻保持这个高度的认识,对不少表结构设计时有很大的帮助,思路也会更加清晰一些。css
针对静态和动态要使用不一样的管理方法(如存储、表结构设计等)。html
举个例子:常见的电商产品。典型的静态数据如产品表、物流表、用户表、图片表、类别表、运营报表等;动态数据有订单表、购物车、审核流程、支付记录、退款记录、物流记录等;数据库
动态数据应该属于热数据,要作好集群、冗余和高效访问;静态数据作好缓存和更新;api
在业务层实现上也能够针对两类数据作不一样的处理。缓存
二、编码的设计。结构内敛,低耦合。设计任何一个方法或函数时,要考虑到其可拆解性和可拼装性,对外依赖要降到最低。每一个方法/函数只实现单一功能,确不可几个业务功能设计绑定在同一个方法体里。保持头脑的清晰,对业务逻辑要深刻理解,作好业务逻辑变化的可能性,对业务约束不能作过多假设,假设越多,代码可维护性和健壮性越差。函数
三、代码的结构设计。程序结构保持 ORM-Service-Controller-View,易于维护。ORM对数据库等持久化存储直接操做,Service对各操做进行拼装,Controller对代码流转进行控制,View对显示进行控制(View层也是能够分MVC的,如v用css和html,js是controller,m是对api的数据)。ORM-Service层能够合并称为Model层,但最好能分开保持独立性。编码
暂时有这些,有更多想法时再更新。spa