设计模式
远去的栀子花
为了美好的未来,加油!!!
展开
-
单一职则原则(原)
1、定义系统中的每一个对象都应该只有一个单独的职责,而所有对象所关注的就是自身职责的完成。不要存在多于一个导致类变更的原因。软件设计真正要做的许多内容,就是发现职责并把那些职责互相分离。单一职责原则可以使类的复杂度降低,实现什么职责都有清晰明确的定义;类的可读性提高,复杂度降低(复杂度降低肯定可读性提高);可读性提高了,代码就更容易维护;变更(需求是肯定会变的,程序员都知道)引起的风险(包括测...原创 2018-11-02 10:05:09 · 224 阅读 · 0 评论 -
里氏替换原则
1、定义第一种定义:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换为o2,程序P的行为没有发生变化,那么类型S是类型T的子类型。第二种定义: 所有引用基类的地方必须透明的使用其子类的对象。第二种定义明确的说,只要父类能出现的地方子类也可以出现,而且替换为子类不会产生任何错误或异常,但是反过来就不行,有子类出现的地方,父类未...原创 2018-11-02 10:10:38 · 92 阅读 · 0 评论 -
模板方法模式
1、定义在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中某些步骤。模版方法模式为我们提供了一种代码复用的重要技巧。抽象方法由子类实现。2、形式//创建抽象模板public abstract class Abstract Class { //模板方法,用来控制炒菜的流程 (炒菜的流程是一样的-复用)//申明...原创 2018-11-13 10:06:54 · 104 阅读 · 0 评论 -
单例模式
1、定义单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。2、关键构成关键代码:构造函数是私有的。public class SingleObject { //创建 SingleObject 的一个对象 private static SingleO...原创 2018-11-08 08:17:15 · 107 阅读 · 0 评论 -
常见的单例模式
单例模式可以分为懒汉式和饿汉式:懒汉式单例模式:在类加载时不初始化。饿汉式单例模式:在类加载时就完成了初始化,所以类加载比较慢,但获取对象的速度快。1、懒汉,线程不安全public class SingletonDemo1 { private static SingletonDemo1 instance; private SingletonDemo1(){} ...原创 2018-11-08 08:27:43 · 145 阅读 · 0 评论 -
抽象工厂模式
1、定义抽象工厂模式(Abstract Factory),提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。工厂模式中一个工厂只能生产一种产品,而抽象工厂可以生产多个。2、形式#include<iostream>using namespace std;class TV{public: //纯虚函数,抽象基类,公共方法; vir...原创 2018-11-12 09:56:24 · 96 阅读 · 0 评论