![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
fanxs98
种一棵树最好的时间是十年前,其次是现在
展开
-
23种设计模式
总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。结构模式(Structural ...原创 2019-04-14 17:22:10 · 111 阅读 · 0 评论 -
设计模式之外观模式(6)
外观模式(Facade),又称为门面模式,是一种比较简单又非常常用的设计模式目录模式定义类图参与者例子模式定义为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。类图参与者Facade门面角色客户端可以调用这个角色的方法。此角色知晓子系统的所有功能和责任。一般情况下,本角色会将所有从客户...原创 2019-05-15 18:30:27 · 609 阅读 · 0 评论 -
设计模式之享元模式(5)
目录模式定义模式动机类图参与者例子内部状态和外部状态享元模式的应用模式定义运用共享技术有效地支持大量细粒度的对象。 系统只使用少量的对象,而这些对象都很近,状态变化很小,对象使用次数增多。享元模式是一种对象结构型模式。模式动机享元模式对那些通常因为数量太大而难以用对象来表示的概念或实体进行建模。如为字母表中的每一个字符创建一个享元,每个享...原创 2019-05-15 16:56:38 · 104 阅读 · 0 评论 -
设计模式之组合模式(4)
组合模式 (Composite Pattern)目录模式动机类图参与者使用场景优点缺点:例子模式动机组合多个对象形成树形结构以表示“整体—部分”的结构层次。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。组合模式又可以称为“整体—部分”(Part-Whole)模式,属于对象的结构模式,它将对象组织到树结构中,可以用来描述整体与部分的...原创 2019-05-15 01:26:22 · 128 阅读 · 0 评论 -
设计模式之装饰模式(3)
装饰模式(Decorator Pattern)目录装饰模式(Decorator Pattern)模式定义:模式结构:参与者:特点:例子:模式定义:动态地给一个对象增加一些额外的职责 (Responsibility),就增加对象功能来说,装饰模式比生成子类实现 更为灵活。其别名为包装器(Wrapper)。装饰模式是一种对象结构型模 式。模式结构:参与者...原创 2019-05-14 21:01:06 · 107 阅读 · 0 评论 -
设计模式之桥接模式(2)
桥接模式(Bridge)目录桥接模式(Bridge)模式动机:模式结构:参与者:例子模式应用:模式动机:桥接模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化”。如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合“单一职责原...原创 2019-05-13 23:56:58 · 118 阅读 · 0 评论 -
设计模式之建造者模式(四)
建造者模式(Builder Pattern)模式动机:在某些情况下,一个对象会有一些重要的属性,在它们没有恰当的值之前,对象不能作为一个完整的产品使用。比如,一个电子邮件有发件人地址、收件人地址、主题、内容、附录等部分,而在最起码的收件人地址未被赋值之前,这个电子邮件不能发出。建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步创建一...原创 2019-05-08 17:43:08 · 132 阅读 · 0 评论 -
设计模式实验代码
这里附带Word文档下载https://download.csdn.net/download/qq_36986067/11166539目录实验一单例模式的应用实验二工厂模式的应用实验三抽象工厂模式的应用实验四 建造者模式的应用实验五适配器模式的应用实验六桥接模式的应用实验七装饰模式的应用实验八外观模式的应用实验九观察者模式的应用实验十...原创 2019-05-08 15:23:36 · 3320 阅读 · 0 评论 -
设计模式之适配器模式(1)
适配器模式(Adapter)模式动机:将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。参与者:Target:目标接口类Adapter:适配器类Adaptee:适配者类(被适配)Client:客户类模式结构:1.类适配器//...原创 2019-04-15 12:47:56 · 93 阅读 · 0 评论 -
设计模式之抽象工厂模式(三)
目录抽象工厂模式(Abstract Factory)模式动机:模式结构:抽象工厂模式(Abstract Factory)模式动机:在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。抽象工厂...原创 2019-04-10 18:27:18 · 116 阅读 · 0 评论 -
设计模式之原型模式(五)
原型模式(Prototype)目录原型模式(Prototype)模式动机:模式角色:模式类图:模式动机:有些对象的创建过程较为复杂,而且有时候需要频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是原型模式的动机。是一种对象创建型模式。模式角色:在原型模式结构图中包含如下几个角色:...原创 2019-04-09 21:19:50 · 203 阅读 · 0 评论 -
设计模式之工厂方法模式(二)
目录简单工厂模式(Simple Factory Pattern):工厂方法模式(Factory Method)在介绍工厂方法模式之前,先介绍一种简单工厂模式简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通过它根据自变量的不同返,回不同的类的实例。简单工厂模式专门定义一个类来...原创 2019-04-08 20:40:49 · 149 阅读 · 0 评论 -
设计模式之单例设计模式(一)
目录1.懒汉式2.饿汉式例子 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。如在Windows中就只能打开一个任务管理器。如果不使用机制对窗口对象进行唯一化,将弹出多个窗口,如果这些窗口显示的内容完全一...原创 2019-04-07 20:44:59 · 215 阅读 · 0 评论 -
UML六大关系
关联关系~关联关系是类与类之间最常用的一种关系,它是一种结构化关系,用来表示一类对象与另一类对象之间有(has a)联系。用编程语言实现关联关系时,通常将一个类作为另一个类的属性。聚合关系~聚合关系表示一个整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构,从而找出一些成员类,该整体类和成员类之间就形成了聚合关系。~在聚合关系中,成员类是整...原创 2019-04-07 17:31:57 · 306 阅读 · 0 评论 -
面向对象设计六大原则
6大原则如下:1)单一职责原则,一个合理的类,应该仅有一个引起它变化的原因,即单一职责,就是设计的这个类功能应该只有一个; 优点:消除耦合,减小因需求变化引起代码僵化。2) 开-闭原则,讲的是设计要对扩展有好的支持,而对修改要严格限制。即对扩展开放,对修改封闭。 优点:降低了程序各部分之间的耦合性,其适应性、灵活性、稳定性都比较好。当已有软件系统需要增加新的功能时,不需要对作为...原创 2019-04-09 23:23:45 · 14151 阅读 · 3 评论 -
设计模式之代理模式(7)
代理模式(Proxy)模式定义给某一个对象提供一个代理,并由代理对象控制对原对象的引用。类图参与者Subject:抽象主题角色声明了真实主题和代理主题的共同接口,这样一来在任何使用真实主题的地方都可以使用代理主题Proxy:代理主题角色 定义了代理角色所代表的真实对象RealSubject:真实主题角色代理主题角色内部含有对真实主题的引用,从而可以在任何...原创 2019-05-16 00:47:51 · 122 阅读 · 0 评论