
设计模式
夏肖潇
前端小白,摸索学习中~
展开
-
设计模式之单例模式
单例模式 定义:保证一个类只有一个实例,并提供一个访问它的全局访问点。 引例:打印机 Uml图: 为了防止在外部对类进行实例化,将其构造函数设计为私有 在单例类内部定义了一个Singleton类型的静态对象,作为外部共享的唯一实例。 在单例类的内部实现只生成一个实例,同时提供一个静态的GetInstance()工厂方法,使客户端可以访问它的唯一实例(全局访问)。 实现机...原创 2019-06-19 20:48:34 · 111 阅读 · 0 评论 -
设计模式之桥接模式
桥接模式bridge 在学习桥接模式之前我们先来回顾以下以前的知识 开闭原则(OCP) 对扩展开放。模块对扩展开放,就意味着需求变化时,可以对模块扩展,使其具有满足那些改变的新行为。换句话说,模块通过扩展的方式去应对需求的变化。 对修改关闭。模块对修改关闭,表示当需求变化时,关闭对模块源代码的修改,当然这里的“关闭”应该是尽可能不修改的意思,也就是说,应该尽量在不修改源代码的基础上面扩展组...原创 2019-06-20 09:07:53 · 231 阅读 · 2 评论 -
设计模式之迭代器模式
迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。 Iterator(抽象迭代器 角色分析Aggregate(抽象聚合类):它用于存储和管理元素对象,声明一个createIterator()方法用于创建一个迭代器对象,充当抽象迭代器工厂角色。 Iterator(抽象迭代器):...转载 2019-06-20 09:32:18 · 174 阅读 · 0 评论 -
设计模式概述
原创 2019-06-23 09:39:02 · 119 阅读 · 0 评论 -
设计模式之简单工厂模式
什么是简单工厂模式? 客户端不进行具体类的实现作用,而是封装隔离具体实现到工厂角色里,客户端只知道接口和简单工厂,工厂角色根据客户端提供的数据,返回几个可能类中的一个类的实例。 uml图以及角色分析 工厂类角色OperationFactory:工厂类在客户端的直接控制下创建产品对象。 抽象产品角色Operation:定义简单工厂创建的对象的父类或它们共同拥有的接口,可以是一个类、抽...原创 2019-06-23 15:02:51 · 114 阅读 · 0 评论 -
设计模式之工厂方法模式
什么是工厂方法模式? 工厂方法模式是简单工厂模式的优化,解决了简单工厂模式的不易扩展,简单工厂角色过于复杂的问题,利用多态性(具体工厂类都有共同的抽象父类),定义一个创建工作的工厂接口,将实际创建工作推迟到子类中。工厂方法类的核心是一个抽象工厂类,而简单工厂模式的核心是一个具体类。在工厂方法模式中,工厂类与产品类具有平行的等级结构,它们之间一一对应。 UML图以及角色分析 抽象工厂(C...原创 2019-06-23 15:53:39 · 115 阅读 · 0 评论 -
设计模式之抽象工厂模式
什么是产品族? 不同产品等级结构,功能相关联的产品组成的家族 例如:用不同数据库访问不同表 产品族:学生表、课程表 等级结构:sqlserver、Access、sql 什么是抽象工厂模式? 定义: 提供一个创建一系列相关或依赖对象的接口(抽象工厂角色),而无需指定它们具体的类(产品类) 抽象工厂是指一个工厂等级结构可以创建出分属于不同产品等级结构的一个产品族的所有对象。 抽象工厂模式...原创 2019-06-23 16:51:07 · 115 阅读 · 0 评论 -
设计模式之建造者模式
什么是建造者模式? 将一个复杂对象的构造与表示分离,使同样的构造过程可以创建出不同的表示。 建造者模式的流程 客户端负责创建指导者和具体建造者对象。然后,客户端把具体建造者对象给指导者,一声令下,指导者操纵建造者开始创建产品。当产品创建完成后,建造者把产品返还给客户端。 uml图以及角色分析 建造者(Builder)角色:定义创建一个Product对象所需的各个部件的操作 具体建造...原创 2019-06-23 17:34:06 · 101 阅读 · 0 评论