设计原则:
单一职责:设计目的的单一的类
开放-封闭原则:对扩展开放,对修改封闭
李氏替换原则(Liskov):子类可以替换父类(子类可以替换父类)
依赖倒置:需要依赖与抽象,而不是具体实现,针对接口编程,不要针对实现编程
接口隔离:使用多个专门的接口比使用单一的总接口要好
组合重用:要尽量使用组合,而不是集成关系达到重用目的
迪米特(Demeter):最少知识法:一个对象应当对其他对象有尽可能的了解
设计模式
架构模式:软件设计中的高层决策,例如C/S结构就属于架构模式,架构模式反映了开发软件系统过程中所作的基本设计决策
设计模式:关注软件系统的设计,与具体实现无关
惯用发:最底层的模式,关注软件系统的设计与实现,实现时通过某中特定的程序设计语言描述与构件之间的关系。每种编程语言都有它自己特定的模式。语言的惯用法。eg.引用计数就是C++语言的一种惯用法。
设计模式分类
创见性模式:生产对象,按系列生成对象
结构性模式:主要处理类和对象的组合问题
行为模式:类与对象的交互情况,职责分配;
创建型模式
结构性设计模式
行为模式