
设计模式
zhangxiangbin001
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
代理模式
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。 某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式一般涉及到的角色有: 1、抽象角色:声明真实对象和代理对象的共同接口。 2、代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真转载 2013-07-27 01:08:32 · 446 阅读 · 0 评论 -
观察者模式(Observer)
1、定义:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自已。 2、观察者模式的组成 (1)抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类或接口实现。 (2)抽象观察者角色:转载 2013-08-13 23:10:01 · 391 阅读 · 0 评论 -
装饰模式(Decorator)
1、装饰模式是动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 2、优点:把类中的装饰功能从类中搬移去除,这样可以简化原有的类,即有效地把类的核心职责和装饰功能区分开了,而且可以去除相关类中重复的装饰逻辑。转载 2013-08-15 00:47:38 · 320 阅读 · 0 评论 -
策略模式Strategy
策略模式定义了算法家族,分别封装起来让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。转载 2013-08-15 00:02:00 · 399 阅读 · 0 评论 -
代理模式(Proxy)
1、代理模式,为其他对象提供一种代理以控制对这个对象的访问。 代理模式其实就是在访问对象时引入一定程度的间接性,因为这种间接性,可以附加多种用途。 2、代理模式的应用 (1)远程代理,为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在不同地址空间的事实。 比如,引用了一个WebService,此时会在项目中生成一个WebReference的文件夹和一些文件,其实它们就是代理,转载 2013-08-15 01:07:43 · 446 阅读 · 0 评论 -
工厂方法模式
工厂方法模式(Factory Method)定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 工厂方法克服了简单工厂违背开放-封闭原则的缺点,又保持了封装对象创建过程的优点。 工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了多态性,工厂方法模式保持了简单工厂模式的特点,而且克服了它的缺点。但缺点是由于每加一个产品,就需要增加一个产品工厂的类,转载 2013-08-16 01:04:36 · 376 阅读 · 0 评论 -
四大原则
1、单一职责原则,就一个类而言,应该仅有一个引起它变化的原因。 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。如果你能够想到多于一个的动机去改变一个类,那么这个类就具有了多于一个的职责。 2、开放转载 2013-08-15 00:16:32 · 656 阅读 · 0 评论