面向对象七大原则
每一个类应该专注于做一件事情。
降低类的复杂度,一个类只负责一项职责.提高类的可读性,提高系统的可维护性,
超类存在的地方,子类是可以替换的。
子类可以替换父类并且出现在父类能够出现的任何地方
实现尽量依赖抽象,不依赖具体实现。
传统的结构化编程中,最上层的模块通常都要依赖下面的子模块来实现,也称为高层依赖低层
应当为客户端提供尽可能小的单独的接口,而不是提供大的总的接口。
又叫最少知识原则,一个软件实体应当尽可能少的与其他实体发生相互作用。
类与类之间的关系越密切,耦合度也就越来越大,只有尽量降低类与类之间的耦合才符合设计模式
一个对象对另一个对象知道的越少越好,即一个软件实体应当尽可能少的与其他实体发生相互作用,在一个类里能少用多少其他类就少用多少,尤其是局部变量的依赖类,能省略尽量省略
既开放又封闭,对扩展是开放的,对更改是封闭的!
扩展即扩展现行的模块,当我们软件的实际应用发生改变时,出现新的需求,就需要我们对模块进行扩展,使其能够满足新的需求!
更改封闭即是在我们对模块进行扩展时,勿需对源有程序代码和DLL进行修改或重新编译文件
尽量使用合成/聚合达到复用,尽量少用继承。原则: 一个类中有另一个类的对象。