1.设计模式概述
根据目的
创建型模式:创建型模式主要用于对象的创建过程。它们帮助实现对象的创建,同时隐藏创建的细节,使得程序更加模块化和易于管理。
结构型模式:结构型模式关注于类或对象的组合。它们采用继承以外的方式来组合对象,以获得更大的灵活性。
行为型模式:行为型模式涉及算法和对象间职责的分配。它们不仅描述对象或类的模式,还描述它们之间的通信模式。
根据作用
类模式:"类模式"这个术语并不直接对应于设计模式分类中的某个具体类别,但我们可以将其理解为那些主要关注于类或类之间的关系的模式。这些模式通常在类的层次结构上操作,定义类之间的静态关系。
对象模式:同样,"对象模式"也不是传统设计模式分类中的直接术语。但是,我们可以将其理解为那些更侧重于对象之间交互和动态关系的模式。这些模式通常处理运行时的对象关系和行为。
2.软件可复用问题和面向对象设计原则
单一职责原则:是面向对象设计中的一个重要原则,它指的是一个类应该仅有一个引起它变化的原因。换句话说,一个类应该负责一组相对独立且紧密相关的职责,并且如果这个类承担的职责过多,那么它就应该被拆分成多个类。
1.降低耦合性
2.提高内聚性
3.增强可读性
4.易于扩展
开闭原则:是面向对象设计中的一个重要原则,它指导我们如何构建稳定且灵活的软件系统。
1.可维护性
2.可扩展性
3.重用性
4.可测试性
5.系统的稳定性
里氏替换原则:是面向对象设计中的一个重要原则,它主要阐述了父类与子类之间的继承关系以及这种关系应该如何被正确使用。
1.防止继承泛滥
2.增强健壮性
3.提高维护性和可扩展性
依赖倒置原则:是面向对象设计中的一个重要原则,它指导我们如何构建灵活且易于维护的软件系统。
1.降低耦合度
2.提高稳定性
3.提高可维护性
接口隔离原则:是面向对象设计中的一个重要原则,它要求客户端不应该依赖那些它不需要的接口,即一个接口应该只提供客户端所需的方法,而不强迫客户端依赖于它们不需要的方法。
1.接口拆分
2.使用适配器模式
3.依赖注入
迪米特法则:又称为最少知识原则,是面向对象设计中的一个重要原则。其核心思想是尽量减少一个对象对其他对象的了解,即一个对象应当对其他对象有尽可能少的了解,只和直接的朋友通信,不和陌生人说话。
1.降低代码复杂度
2.提高可维护性
3.提高可扩展性
合成复用原则:合成复用原则,也被称为组合/聚合复用原则,是面向对象设计中的一种重要原则。其核心思想是尽量使用对象之间的弱关联关系来达到代码复用的目的,而不是通过继承关系。
1.提高系统的灵活性和可维护性
2.支持动态组合和配置
3.保持类的封装性