一、设计模式基本介绍(是什么、作用、优点)
1、软件设计模式是什么?
软件设计模式(Software Design Pattern),又称设计模式。
2、设计模式的作用
提高代码的可复用性、可维护性、稳健性、安全性和可读性。
3、学习设计模式的意义
设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。
4、软件设计模式的最关键的4个基本要素:
模式名称、问题(描述了该模式的应用环境,即何时使用该模式。)、解决方案、效果。
5、使用设计模式优点:
(1)可以提高程序员的思维能力、编程能力和设计能力。
(2)使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期。
(3)使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。
二、模式的分类和介绍
1、模式的分类:根据目的来,创建型模式、结构型模式、行为型模式
创建型模式(5种,单例、原型、工厂方法、抽象工厂、建造者);
结构型模式(7种,代理、适配器、桥接、装饰、外观、享元、组合);
行为型模式(11种,模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器)
2、模式的介绍
创建型模式:描述了“怎样创建对象”,主要特点是“将对象的创建与使用分离”。
(1) 单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。
(2) 原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。
(3)工厂方法(Factory Method)模式:定义一个用于创建产品的接口,由子类决定生产什么产品。
(4)抽象工厂(Abstract Factory)模式:提供一个创建产品组的接口,其每个子类可以生产一系列相关的产品。
(5)建造者(Builder)模式:将一个复杂对象分解成多个相对简单的部分,然后根据不同需要分别创建它们,最后构建成该复杂对象。
结构型模式:描述了如何将类或对象按某种布局组成更大的结构。
(1)代理(Proxy)模式:为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象(真实对象),从而限制、增强或修改该对象的一些特性。