![](https://img-blog.csdnimg.cn/20200526233905562.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
规范的设计模式
为迎战设计模式期末考试,专门记录所有课程要求的设计模式
学习不易
直到有一天,可以和你并肩站立
展开
-
规范的设计模式6——工厂方法模式
简单工厂模式 简单工厂模式中,工厂类用于创建各种各样的产品,根据输入来的参数不同,创建出不一样的产品。但是如果有新的产品要加入,我们需要修改工厂类中的代码,这违背了开放-封闭原则,并且对于工厂类有着较大依赖。所以引出工厂方法模式。 工厂方法模式 工厂方法模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将世纪创建工作推迟到子类中。 在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。 这个核心类仅仅负责给出工厂必须是实现的接口,而不接触哪一个产品类被实例化这种细节原创 2020-06-11 21:22:05 · 141 阅读 · 0 评论 -
规范的设计模式4——装饰模式
一、装饰模式 核心:以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 如果我们要对一个类扩展更多的方法,但这些方法之间也许并无联系,使用继承扩展会造成程序的复杂,所以我们需要一种新的方法来实现对类的扩展。装饰模式的四大部件: 1、抽象构建角色:给出一个抽象接口,以规范准备接受附加责任的对象。所有类的接口,装饰类与实体类都要实现此接口的方法。 2、具体构建角色:实现组件对象接口。我们要为扩展的类。 3、装饰角色:持有一个构建对象的实例,并定义一个与抽象构建接口一致的接口。所有装饰(扩展)的抽象类原创 2020-06-06 10:28:12 · 153 阅读 · 0 评论 -
规范的设计模式3——常见的面向对象设计原则
一、单一职责原则 就一个类而言,应该仅有一个引起它变化的原因。 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计。当变化发生时,设计会遭受意想不到的破坏。 一个类只做一件事! 可以降低类的复杂度,简化功能职责之间的复杂结构,使程序简便易懂,提高类可读性、可维护性。 二、开放-封闭原则 引入:钩子方法 钩子方法:是对于抽象方法或者接口中定义的方法的一个空实现。 比如我们定义一个接口,接口中有若干个不同方法,而我们只需要原创 2020-06-05 21:37:02 · 119 阅读 · 0 评论 -
规范的设计模式2——策略模式
一、策略模式 策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 换言之,如果我们需要新的方案,我们创建这个方案的类继承事先定义好的共同接口,然后在使用的时候替换为此方案就可以了。 使用策略模式可以把行为和环境分割开来。环境类负责维持和查询行为类,各种算法则在具体策略类中提供。 由于算法和环境独立开来,算法的增减、修改都不会影响环境和客户端。当出现新的方案的时候,只需要实现新的策略类,并在客户端登记即可原创 2020-06-04 21:40:26 · 195 阅读 · 0 评论 -
规范的设计模式1——简单工厂模式
一、工厂模式 工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。工厂模式有以下几种形态: 简单工厂(Simple Factory)模式 工厂方法(Factory Method)模式 抽象工厂(Abstract Factory)模式 简单工厂模式 Simple Factory模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个公共的父类和公共的方法。 简单工厂模式属于类创建型模式,可以根据不同的参数,返回不同类的实原创 2020-06-01 13:21:21 · 158 阅读 · 0 评论