设计模式
傻月菇凉
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
工厂模式
简介常见的实例化对象模式。用工厂方法替代new操作的一种模式。当我们使用new操作实例化对象时,调用构造函数完成初始化。若初始化仅是进行赋值等简单的操作,写入构造函数即可。但如果初始化时需要执行一长串复杂的代码,将多个工作装入一个方法,是不妥的。创建实例与使用实例分离。将创建实例所需的大量初始化工作从基类的构造函数中分离出去。工厂方法模式针对的是一个产品等级结构;而抽象工厂模式针对的...转载 2018-09-03 14:59:37 · 287 阅读 · 0 评论 -
模板方法模式
简介 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。图解优点父类封装不变的部分,...原创 2018-08-30 10:21:20 · 123 阅读 · 0 评论 -
代理模式
简介 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。角色抽象角色:通过接口或抽象类声明真实角色实现的业务方法。代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。真实角色:实现抽象角色,定义...原创 2018-08-29 17:11:35 · 223 阅读 · 0 评论 -
外观模式
简述 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。角色Facade:为子系统提供一个共同的对外接口。知道哪些子系统负责处理请求,将客户端的请求...原创 2018-08-29 16:12:37 · 857 阅读 · 0 评论 -
组合模式
简介将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清楚 “部分/整体” 还有 ”单个对象“ 与 “组合对象” 的含义。又称部分—整体模式,使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。组合模式可以让客户端...原创 2018-08-29 11:38:39 · 136 阅读 · 0 评论 -
设计模式
简介 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。 项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广...转载 2018-08-31 21:28:21 · 127 阅读 · 0 评论 -
单例模式
简介单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。因此需要用一种只允许生成对象类的唯一实例的机制,“阻止”所有想要生成对象的访问。应用一些资源管理器需要设计成单例模式。当使用打印机时,打印机一次只能处理一个...转载 2018-09-03 14:58:16 · 148 阅读 · 0 评论 -
访问者模式
简介 在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。访问者模式:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操...转载 2018-08-31 16:22:58 · 117 阅读 · 0 评论 -
职责链模式
简介 责任链模式是一种设计模式(行为模式)。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。角色Handler(抽象处理者):定义出一个处理请求的接口。接口定义出一个方法以...转载 2018-08-31 12:04:05 · 153 阅读 · 0 评论 -
状态模式
简介 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。设计模式中的行为模式。主要解决的问题当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。角色Context(环境类):拥有状态对象,充当状态管理器的角色,在Context类中对状态进行改变。State(抽象...原创 2018-08-31 16:41:34 · 190 阅读 · 0 评论 -
策略模式
简介 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的context 对象。策略对象改变context对象的执行算法。定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。角色抽象策略角色: 策略类,通常由...转载 2018-08-30 16:37:09 · 141 阅读 · 0 评论 -
建造者模式
简介 建造者模式是设计模式的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。角色builder:为创建一个产品对象的各个部件指定抽象接口。ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并 提供一个检索产品的接口。Director:构造一个使用Builder接口的对象Produ...原创 2018-09-03 14:59:09 · 128 阅读 · 0 评论 -
观察者模式
简介 观察者模式(有时又被称为模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。观察者设计模式定义了对象间的一种一对多的组合关系,以便一个对象的状态发生变化时,所有...转载 2018-08-30 15:40:31 · 458 阅读 · 0 评论
分享