您的位置  > 互联网

软件设计模式的意义和解决方案的方法有哪些?

软件设计模式( ),也称为设计模式,是一组被重复使用、为大多数人所熟知的代码设计经验的分类和编目总结。 它描述了软件设计过程中反复出现的一些问题及其解决方案。 换句话说,就是解决特定问题的一系列套路。 是前人代码设计经验的总结。 具有一定的通用性,可以重复使用。 其目的是提高代码的可重用性、代码的可读性和代码的可靠性。

2.学习设计模式的意义

设计模式的本质是面向对象设计原则的实际应用,以及对类的封装、继承和多态性以及类的关联和组合关系的充分理解。 正确使用设计模式具有以下优点。

可以提高程序员的思维能力、编程能力、设计能力。

使程序设计更加标准化,代码编写更加工程化,大大提高了软件开发效率,缩短了软件开发周期。

使设计的代码具有高度的可重用性、可读性、可靠性、灵活性和可维护性。

3. 花样列表

设计模式分为三类:创造型、结构型和行为型。 创建模式处理对象的创建过程(通过多种方式创建对象,使对象创建和管理变得简单),结构模式处理对象/类的组合,行为模式处理类和对象方法之间的交互和任务分配。 (只有类才能创建对象,接口只能实现)

a.创意模型

1、()模式:某个类只能生成一个实例。 该类为外部获取实例提供了一个全局访问点。 它的扩展是有限多实例模式。

2. ()模式:以一个对象作为原型,通过复制克隆出多个与原型相似的新实例。

3、工厂方法( )模式:定义一个用于创建产品的接口,让子类决定生产什么产品。

4、抽象工厂()模式:提供创建产品族的接口,每个产品族的子类都可以生产一系列相关的产品。

5、()模式:将一个复杂的对象分解为多个相对简单的部分,然后根据不同的需求分别创建,最后构建出复杂的对象。

b. 结构格局

1、代理模式:为对象提供代理,控制对对象的访问。 即客户端通过代理间接访问对象,从而限制、增强或修改对象的某些特性。

2、()模式:将一个类的接口转换成客户想要的另一个接口,使因接口不兼容而不能一起工作的类可以一起工作。

3. () 模式:将抽象与实现分开,以便它们可以独立更改。 它通过组合关系而不是继承关系来实现,从而降低了抽象和实现两个变量维度的耦合度。

4、()模式:动态地给对象添加一些职责,即添加其附加功能。

5、()模式:为多个复杂的子系统提供一致的接口,使这些子系统更容易访问。

6、()模式:利用共享技术,有效支持大量细粒度对象的复用。

7、()模式:将对象组合成树状层次结构,使用户能够一致地访问单个对象和组合对象。

C。 行为模型

1、模板方法()模式:在一个操作中定义算法骨架,并将算法的某些步骤推迟到子类中,使得子类可以在不改变算法结构的情况下重新定义算法的某些具体步骤。

2、()模式:定义了一系列算法,并封装了各个算法,使得它们可以相互替换,并且算法的改变不会影响使用该算法的客户。

3、()模式:将请求封装为一个对象,将发出请求的职责和执行请求的职责分开。

4、责任链(Chain of)模式:将请求从链中的一个对象传递到下一个对象,直到请求得到响应。 这样就消除了对象之间的耦合。

5.状态模式:允许对象在其内部状态改变时改变其行为。

6、()模式:多个对象之间存在一对多的关系。 当一个对象发生变化时,该变化会通知多个其他对象,从而影响其他对象的行为。

7、()模式:定义一个中介对象,简化原始对象之间的交互,降低系统中对象之间的耦合度,防止原始对象互相认识。

8. () 模式:提供了一种顺序访问聚合对象中的数据序列的方法,而无需暴露聚合对象的内部表示。

9、()模式:在不改变集合元素的情况下,为集合中的每个元素提供多种访问方法,即每个元素由多个访问者对象访问。

10. Memo() 模式:获取并保存对象的内部状态,以便以后可以在不破坏封装的情况下恢复它。

11. ()模式:提供了如何定义一种语言的语法以及如何解释该语言的句子,即解释器。