设计模型
yifeixiang
这个作者很懒,什么都没留下…
展开
-
简单工厂模式
面向对象三大特性:封装、继承和多态。 用简单工厂模式实现松耦合的设计。 简单工厂模式,也就是说,到底要实例化谁,将来会不会增加实例化的对象,对于很容易变化的地方,应该考虑用一个单独的类来做这个创造的过程,这就是工厂。 [code="java"] package com.jshx.operation; /** * 操作父类 * @author duanpf * */ pu...原创 2013-04-12 16:40:04 · 94 阅读 · 0 评论 -
策略模式
策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响使用算法的客户。 [code="java"] package com.jshx.cash; import com.jshx.operation.Operation; import com.jshx.operation.OperationAdd; import com.jshx.opera...原创 2013-04-12 17:31:29 · 96 阅读 · 0 评论 -
依赖倒转原则
A、高层模块不应该依赖低层模块,两个都应该依赖抽象。 B、抽象不应该依赖细节,细节应该依赖抽象。 里氏代码原则:子类型必须能够替换掉它们的父类型。 注:1、只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为。 2、由于子类型的可替换性才使得使用父类类型的在无需修改的情况下就可以扩展。 [b]依赖倒转其实可以说是...原创 2013-04-13 12:31:01 · 93 阅读 · 0 评论 -
装饰模式
[b]装饰模式,动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。[/b] [code="java"] package com.jshx.finery; public class Person { private String name; public void show(){ System.out.print("装饰的"+name)...原创 2013-04-13 13:04:04 · 85 阅读 · 0 评论 -
代理模式
[b]代理模式:为其他对象提供一种代理以控制对这个对象的访问。[/b] [code="java"] package com.jshx.proxy; /** * Subject类,定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy * @author duanpf * */ public abstract ...原创 2013-04-13 16:49:34 · 88 阅读 · 0 评论 -
工厂模式
[b]工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。[/b] 工厂模式和简单工厂模式的区别: 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据使用者的选择条件动态实例化相关的类,对于使用者来说,去除了与具体产品的依赖。但其违背了开放-封闭原则。 工厂模式实现时,使用者需要决定实例化哪一个工厂来实现运算类,选择判断的问...原创 2013-04-15 09:46:39 · 73 阅读 · 0 评论 -
原型模式
[b]原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。[/b] 原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节。 [code="java"] package com.jshx.clone; /** * 简历类 * @author duanpf * */ public class Resume implem...原创 2013-04-17 17:53:54 · 83 阅读 · 0 评论