设计模式简介 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 -- Christopher Alexander 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。面向对象设计模式描述了面向对象设计过程中,特定场景下,类(抽象类之间,抽象类和派生类)之间或者 ...
分类:
其他好文 时间:
2020-07-10 00:13:53
阅读次数:
62
设计模式之装饰者设计模式 1.定义:动态的将责任附加到对象上。想要扩展功能,装饰者是有别于继承的另外一种选择。就增加功能而言,装饰者模式比子类更加的灵活 涉及到的设计原则:类应该对扩展开放,对修改关闭 要点:1.装饰者和被装饰者有相同的超类型 2.可以用一个或者多个装饰者包装一个对象 3.既然装饰者 ...
分类:
其他好文 时间:
2020-07-10 00:02:47
阅读次数:
74
顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它 ...
分类:
其他好文 时间:
2020-07-09 17:59:45
阅读次数:
58
适配器模式( Adapter Pattern )又叫做变压器模式,它的功能是将一个类的接口变成客户端所期望的另一种接口,从而使原本因接口不匹配而导致无法在一起工作的两个类能够-起工作 ,属于结构型设计模式。 桥接模式的目的主要是通过组合而不是继承建立两个类之间的关系。 类图: 基本角色: 接口:II ...
分类:
编程语言 时间:
2020-07-09 12:27:51
阅读次数:
59
软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在 1990 年代从建筑设计领域引入到计算机科学的。 编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性 ...
分类:
其他好文 时间:
2020-07-09 12:24:27
阅读次数:
71
单例模式中的唯一性 单例的定义:“一个类只允许创建唯一一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。” 常见的有线程的单例,进程的单例(一般默认实现),多进程的单例。 实现线程唯一的单例 “进程唯一”指的是进程内唯一,进程间不唯一。类比一下,“线程唯一” ...
分类:
其他好文 时间:
2020-07-09 01:13:53
阅读次数:
81
摘要: 本篇主要剖析webmagic的downloader模块,对于httpclient模块涉及到的http相关的知识,例如:Request、Response以及重定向策略进行一定的分析。首先梳理了本模块的结构、然后对于执行流程进行了分析,最后对于其中涉及的设计模式:单例模式和相关算法进行了代码分析 ...
分类:
Web程序 时间:
2020-07-09 00:59:11
阅读次数:
113
建造者模式( Builder Pattern )又叫生成器模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。 建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需 ...
分类:
编程语言 时间:
2020-07-09 00:33:18
阅读次数:
88
设计模式——组合模式设计模式大话设计模式组合模式一视同仁 经典 大话设计模式 介绍 意图:将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 主要解决:它在我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处 ...
分类:
其他好文 时间:
2020-07-08 22:40:31
阅读次数:
73
一、单例模式 二、工厂模式 三、原型模式 Java中Object类是所有类的超类,Object类提供了一个clone()方法,该方法可以将一个Java对象复制一份,但是需要实现clone的Java类必须实现一个接口Cloneable,该接口表示该类能够复制且具有复制的能里。 基本介绍 原型模式(Pr ...
分类:
其他好文 时间:
2020-07-08 19:54:04
阅读次数:
62