1.设计模式分类
类别名称 | 描述 | 设计模式 |
---|---|---|
创建型模式 | 怎样创建对象,将对象的创建与使用分离 | 单例、原型、工厂方法、抽象工厂、建造者 |
结构型模式 | 将类或对象按某种布局组成更大的结构 | 代理、适配器、桥接、装饰、外观、亨元、组合 |
行为型模式 | 类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,以及怎样分配职责 | 模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器 |
2.软件设计原则
-
开闭原则:
- 对扩展开放,对修改关闭。对程序进行拓展时,不修改原有代码,提高扩展性,易于维护和升级。
-
里氏代换原则:
- 子类可以扩展父类的功能,但不能改变父类原有的功能。
-
依赖倒转原则:
- 高层模块不应该依赖低层模块,两者都应该依赖其抽象。
-
接口隔离原则:
- 客户端不应该被迫依赖于它不使用的方法,一个类对另一个类的依赖应该建立在最小的接口之上。
-
迪米特法则(最少知识原则):
- 如果两个实体无须直接通信,就不应当发生直接的相互调用,可以通过第三方转发调用。降低类之间的耦合度。
-
合成复用原则:
- 先使用组合或者聚合等关系实现,其次使用继承关系实现。