随笔分类 -  设计模式

摘要:抽象工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。但是随着新的类型增加时,必须对原有的简单工厂进行修改,破 阅读全文
posted @ 2016-04-11 21:43 制造天堂 阅读(216) 评论(0) 推荐(0)
摘要:代理模式:为其他对象提供一种代理以控制对这个对象的访问。 代理模式使用的场合: 1、远程代理,也就是为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同地址空间的事实 2、虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象 3、安全代理,用来控制真实对 阅读全文
posted @ 2016-04-02 15:12 制造天堂 阅读(108) 评论(0) 推荐(0)
摘要:装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 如上UML所示,Component是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承 阅读全文
posted @ 2016-03-28 22:54 制造天堂 阅读(175) 评论(0) 推荐(0)
摘要:一、单一职责原则 概念:就一个类而言,仅有一个引起它变化的原因。 意义:如果一个类承的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 方法:软件设计真正要做的许多内容,就是发现职责并 阅读全文
posted @ 2016-02-29 22:54 制造天堂 阅读(134) 评论(0) 推荐(0)
摘要:个人对于策略模式的理解是在于可替换性,不同的策略代表不同的算法和策略,他们之间应该是拥有共同的对外的接口,在不同的场景下使用不同的策略,除了替换策略部分,其余的代码都不需要做任何更改。这样就具有高复用性,下面代码中多个类都是从Cash继承,不同的子类就是不同的策略。 阅读全文
posted @ 2016-02-21 23:02 制造天堂 阅读(194) 评论(0) 推荐(0)
摘要:在面向对象系统设计中经常可以遇到以下两类问题: 以上两个问题也就引出了Factory模式的两个最重要功能: 阅读全文
posted @ 2016-02-21 19:27 制造天堂 阅读(196) 评论(0) 推荐(0)