随笔 - 77  文章 - 1 评论 - 10 阅读 - 68831
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  设计模式

行为模式之中介者
摘要:在结构型设计模式中,有一个外观/门面(Facade)模式,它的作用是降低客户类与子系统内部各类的交互,相当于一个传达室,有客人来时直接与传达室交互,然后由传达室去系统内部为客人办理各种事务,这里中介者也起到类似的作用,但是它是在系统内部各个部门交流的枢纽,也即是说,系统内部不同部门之间就不要直接交互 阅读全文
posted @ 2017-08-16 17:16 Judy518 阅读(127) 评论(0) 推荐(0) 编辑
行为模式之命令
摘要:命令模式(Command)是一种对象行为模式,它是把一个请求封装到一个对象中,使你可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。命令模式是对命令的封装,它把发出命令的责任与执行命令的责任分开,分别委派给不同的对象。如下图是命令模式的结构图: 这里的参与者都有: C 阅读全文
posted @ 2017-08-16 16:53 Judy518 阅读(160) 评论(0) 推荐(0) 编辑
行为模式之职责链
摘要:职责链涉及事务处理的传递问题,发出事务处理请求的对象到最终接收事务并进行处理的对象,它们之间可能还有一些参与传递事务处理请求的对象。GOF一书中的描述为:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。职 阅读全文
posted @ 2017-08-16 16:36 Judy518 阅读(103) 评论(0) 推荐(0) 编辑
结构型模式总结
摘要:结构型模式描述的如何组合类或对象以获取更大的组合,在这里,结构型类模式是利用继承机制来组合接口或实现;结构性对象模式不是对接口或实现进行组合,而是描述了如何对一些对象进行组合。这里对它们的相似点和不同点作简要分析: 1、Adapter和Bridge 首先二者都给另一个对象提供了一定程度上的间接性,因 阅读全文
posted @ 2017-08-16 16:31 Judy518 阅读(114) 评论(0) 推荐(0) 编辑
结构型模式之代理
摘要:希望赶快把常用的设计模式总结一下..... 代理模式(Proxy)是对象的结构模式,GOF著作作为经典之作,这里还是引用它的描述:为其他对象提供一种代理以控制对这个对象的访问。《Java与模式》一书讲得通俗易懂一些,也即是:代理模式给某一对象提供一个代理对象,并由代理对象控制对原对象的引用。所谓代理 阅读全文
posted @ 2017-08-16 16:03 Judy518 阅读(108) 评论(0) 推荐(0) 编辑
结构型模式之享元
摘要:享元(Flyweight)模式是有关改善性能的一种方法,GOF对享元的功能定义是:运用共享技术有效地支持大量细粒度的对象。为了做到共享,首先要区分内部状态(Internal State)和外部状态(External State)。内部状态是存储在享元对象的内部,不随环境的变化而有所不同,因而可以共享 阅读全文
posted @ 2017-08-14 15:24 Judy518 阅读(143) 评论(0) 推荐(0) 编辑
结构型模式之外观
摘要:外观(Facade)模式又称门面模式,感觉这是设计模式中一个比较容易理解的模式,GOF对其所起作用描述为:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层的接口,这个接口使得这一子系统更加容易使用。Facade的形象化描述可以借用GOF一书中的插图进行表述,如下: 《Java与 阅读全文
posted @ 2017-08-14 10:20 Judy518 阅读(113) 评论(0) 推荐(0) 编辑
结构型模式之装饰
摘要:装饰(Decorator)模式是对象结构模式,GOF对它的作用描述为:动态地给一个对象添加一些额外的职责,就增加功能来说,Decorator模式比生成子类更为灵活。现在直接给出GOF著作中的Decorator模式结构图: 实现案例是学习设计模式的好办法,GOF一书中给了一个例子,就是“图形用户界面” 阅读全文
posted @ 2017-08-13 23:06 Judy518 阅读(129) 评论(0) 推荐(0) 编辑
结构型模式之组合
摘要:重新看组合/合成(Composite)模式,发现它并不像自己想象的那么简单,单纯从整体和部分关系的角度去理解还是不够的,并且还有一些通俗的模式讲解类的书,由于其举的例子太过“通俗”,以致让人理解产生偏差,不过设计模式本身就是一种程序设计思想,不同的人当然会产生具有偏差性质的理解。 GOF对组合模式的 阅读全文
posted @ 2017-08-13 21:15 Judy518 阅读(126) 评论(0) 推荐(0) 编辑
结构型模式之桥接
摘要:GOF对桥接模式(Bridge)的定义是:将抽象部分和它的实现部分分离,使它们可以独立地变化。这里需要记录一些概念,参考自《Java与模式》一书: 抽象化:存在于多个实体中的共同的概念性联系,例如:一组对象如果有相同的概念性联系,则可以用一个共同的类加以描述;如果一些类有相同的概念性联系,则可以用一 阅读全文
posted @ 2017-08-13 15:14 Judy518 阅读(150) 评论(0) 推荐(0) 编辑
结构型模式之适配器
摘要:结构型模式主要讲述如何组合类和对象以获取更大功能的结构,同样,按照模式的主要用途,结构型模式也分为两个层次: 1、结构型类模式,采用继承机制来组合接口,java没有多继承功能,但是可以实现(implements)多个接口,实现了多个父接口的类便拥有了父接口的功能,GOF给出的结构型类模式只有一个,那 阅读全文
posted @ 2017-06-11 12:50 Judy518 阅读(248) 评论(0) 推荐(0) 编辑
创建型模式之原型模式
摘要:原型模式(prototype)为创建型对象模式,它是用原型实例来指定创建对象的类型的,并通过拷贝这些原型来创建新的对象。也就是说,这次我们创建新的对象和以前创建对象的方法有些不同,以前创建新的对象是用new方法作用于类上来实现的,现在我们不这样做了,给定一个类的实例,我们通过克隆这个类的实例来创建新 阅读全文
posted @ 2017-06-10 22:13 Judy518 阅读(139) 评论(0) 推荐(0) 编辑
创建型模式之生成器
摘要:GOF对生成器模式的描述为:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。感觉这是创建型模式中最难理解的一个,参考了《Java与模式》一书,在这本书中,作者侧重描述一个产品不同内部表象(也就是零件)的创建,他在“众神造人”一例中,将“人”划分为“灵魂”、“臂手”、“耳目” 阅读全文
posted @ 2017-06-04 23:57 Judy518 阅读(148) 评论(0) 推荐(0) 编辑
创建型模式之抽象工厂
摘要:工厂方法模式对创建同一系列产品对象的应用具有很好的支持作用,比如创建水果系列的产品,我们任意添加我们想要的产品(也即系统新功能)而不用改变原来产品及其创建形式(也即不用改变原来系统功能),但是当我们需要创建具有相关或相互依赖的对象时,工厂方法就做不到了,它不能为用户(也即使用工厂方法的人)提供统一的 阅读全文
posted @ 2017-06-03 23:37 Judy518 阅读(156) 评论(0) 推荐(0) 编辑
创建型模式之工厂方法
摘要:工厂方法属创建型类模式,也称虚构造器/多态性工厂模式,工厂方法使得一个类的实例化延迟到其子类。在简单工厂模式中,产品的创建由静态工厂方法做出判断并返回相应的的对象,缺点就是当我们要添加新的类并希望创建新的对象的时候,我们需要修改静态工厂方法,有没有那种只添加新功能而不修改系统有原有功能的方案呢?当然 阅读全文
posted @ 2017-06-03 00:49 Judy518 阅读(163) 评论(0) 推荐(0) 编辑
创建型模式之简单工厂
摘要:GOF的《设计模式-可复用面向对象软件的基础》一书中对设计模式做了两个标准的划分: 第一条是目的准则:模式用来完成什么工作,根据目的可划分为:创建型、结构型、行为型;创建型涉及对象的创建,结构型处理类或对象的组合,行为型对类或对象如何交互和怎样分配职责进行描述。 第二条是范围准则:指定模式主要用于类 阅读全文
posted @ 2017-06-01 23:30 Judy518 阅读(143) 评论(0) 推荐(0) 编辑
创建型模式之单例
摘要:单例模式属于“创建型”模式,“创建型”模式主要讲对象的创建方法,单例模式有两种实现方式:饿汉式、懒汉式;下面对这两种实现方式加以总结。 1、饿汉式单例: 单例类在自己类内部定义自己的实现,注意构造函数的访问类型是private,这样外界没有创建单例类的方法,只能通过一个静态的getObj()方法来获 阅读全文
posted @ 2017-05-26 23:49 Judy518 阅读(192) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示