
设计原则
yandavid
这个作者很懒,什么都没留下…
展开
-
\t\t组合模式
2+3和(2+3)+(4*6)都合法。[架构取舍]组合方式:透明式、安全式将对象组合成树形结构以表示“部分-整体”的层次结构。“透明性”和“安全性”缺点:组合模式不容易限制组合中的构件。效果及实现要点1.Composite模式采用树形结构来实现普遍存在的对象容器,从而将“一对多”的关系转化“一对一”的关系,使得客户代码可以一致地处理对象和对象容器,无需关心处理的是单个的对象,还是组合的对象容器。2原创 2013-06-09 15:31:11 · 549 阅读 · 0 评论 -
\t\t装饰模式 桥接模式
装饰模式 在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。房子装修原理,墙体穿衣。abstract class 装修依赖于抽象 抽象继承自房子 装修不影响房子结构采用对象组合而非继承的手法,实现了在运行时动态的扩展对象功能的能力,而且可以根据需要扩展多个功能,避免了单独使用继承带来的“灵活性差”和“多子类衍生问题”。同时它很好地符合面向对象设计原则中“优先使用对象组合而非继承”和原创 2013-06-09 15:31:14 · 498 阅读 · 0 评论 -
\t\t对面向对象设计原则的总结
正如牛顿三大定律在经典力学中的位置一样,“开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石。其他设计原则(里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则)是实现“开-闭”原则的手段和工具。 一、“开-闭”原则(Open-Closed Principle,OCP) 1原创 2013-06-09 15:35:14 · 380 阅读 · 0 评论 -
\t\t单例模式
#region 单例模式#region 用法说明//保证一个类仅有一个实例,并提供一个访问它的全局访问点// 实现要点 // Singleton模式是限制而不是改进类的创建。 // Singleton类中的实例构造器可以设置为Protected以允许子类派生。 // Singleton模式一般不要支持Icloneable接口,因为这可能原创 2013-06-09 15:36:10 · 400 阅读 · 0 评论 -
\t\t外观模式
Façade模式注重的是简化接口,它更多的时候是从架构的层次去看整个系统,而并非单个类的层次。效果及实现要点1.Façade模式对客户屏蔽了子系统组件,因而减少了客户处理的对象的数目并使得子系统使用起来更加方便。2.Façade模式实现了子系统与客户之间的松耦合关系,而子系统内部的功能组件往往是紧耦合的。松耦合关系使得子系统的组件变化不会影响到它的客户。3.如果应用需要,它并不限制它们使用子系统类原创 2013-06-09 15:31:09 · 509 阅读 · 0 评论 -
\t\t代理模式 诚招代理
区域性的“代理商” 能够协调调用者和被调用者,能够在一定程度上降低系统的耦合度。在软件系统中增加中间层做代理 如同项目中添加webservce引用。功能本地化组成:1.抽象主题角色:声明真实主题和代理主题的共同interface。2.代理主题角色:内部包含对真实主题的引用,并且提供和真实主题角色相同的接口。3.真实主题角色:定义真实的对象。Proxy模式根据种类不同,效果也不尽相同:1.远程(Re原创 2013-06-09 15:31:16 · 655 阅读 · 0 评论 -
\t\t享元模式
享元模式: 以共享的方式高效地支持大量的细粒度对象。享元模式的扩展—对象池的应用应用偏向:在B/S的系统中,个人感觉享元的应用相对较少,Web的无状态,加之我们完全在客户端进行一系列的复杂逻辑,然后将之统一传递给Web服务器端,而不需要享元。享元主要应用还是在C/S及Winform的本地程序上较多。享元模式的应用条件: 1: 一个系统有大量的对象。 2:这些对象耗费原创 2013-06-09 15:31:07 · 374 阅读 · 0 评论