1、类、继承、接口(六大原则)
简单理解,类是定义对象结构的一个过程,静态语言都需要这样的一个定义过程,也就是定义对象实例化的模板,从这个模板出来的所有对象都是一致的。
其实类是对业务建模过程的定义,当我们通过面向对象的思想来将业务切割、建模,并创建出一个个具有真实业务概念的类时,类会体现出这门设计语言的价值和重要性。
类是用来体现领域模型的元素,所以我们对类的定义要尽量贴近领域模型,贴近真正的业务逻辑,将领域模型中的数据、逻辑进行抽象归纳,最后得出一个丰富饱满的对象。
2、字段、属性、常量、枚举
字段是用来保存状态值的最终归宿,在类中声明一个字段,最为中要的就是考虑其访问范围,设计原则告诉我们,字段尽量使用属性进行访问,这对后面的重构起到很大的帮助。如果将字段直接暴露给外部使用,那么至少使用该字段的地方都直接依赖该字段,你将无法对该字段做任何改动。
大型分布式系统从分组开发到合并代码在到集成测试上线,中间会经历很多复杂的流程,而常量和枚举是最容易出现问题的地方之一。其中最容易出现问题是他们本身代表的之被替换了或被弄反了,通常出现的场景是:将枚举值作为数据库的调用参数,而数据库里却直接使用了数字来进行判断,所以这里千万要注意。还有在分组开发的时候,你声明的枚举没有定义默认值,这样当别人的定义替换你之前的位置时,你的枚举值被莫名其妙修改了,这种场景在和别合并分支代码的时候最容易出现。因此在定义枚举的时候要记得赋上初始值。
而常量主张用来定义字符串的不变量。比如我们经常在点吗中使用”魔幻数字“,这时我们应该将其提取出来定义成一个不变的常量集合。如果时跟配置相关的,应该跟配置