
设计模式
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
IT架构体系
这个作者很懒,什么都没留下…
展开
-
深入浅出—设计模式重要原则
学习设计模式前,自己就在想这么一厚本书从哪下手比较好,俗话说:万变不离其宗,这个宗就是我后来想到的是学习设计模式的原则,因为所有的模式都伴随着原则和面向对象的三大属性:继承、多态、封装。在各个原则之间也有着相互紧密的关系,都有着藕断丝连的联系,知识间都是相同的,只是我们占的角度不同、学习点不同、认识的不同、理解的深度不同,下面带着大家一起学习重要的原则,为接下来学习多种模式打下良好的原则基础:原创 2012-12-12 11:09:05 · 2636 阅读 · 24 评论 -
“is a” 和”has a“
刚开始接触这两个词之后,脑子里还真没有概念,下面是自己学习的内容 “is a”代表的是类之间的继承关系,比如PC机是计算机,工作站也是计算机。PC机和工作站是两种不同类型的计算机,但都继承了计算机的共同特性。因此在用 Java语言实现时,应该将PC机和工作站定义成两种类,均继承计算机类。 “has a”代表的是对象和它的成员的从属关系。同一种类的对象,通过它原创 2012-12-14 09:24:59 · 2256 阅读 · 8 评论 -
设计模式之一 工厂方法模式(Factory Method)
概念: 工厂方法(Facotry Method)定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例延迟到其子类。 结构图: 注意点: (1)工厂方法克服了简单工厂违背开发-封闭原则的缺点,又保持了封装对象的创建过程的优点,集中封装了对象的创建,使得要更换对象时,不需要做大的改动就可实现,降低了客户程序与产品对象的耦合,原创 2012-12-23 11:11:55 · 2331 阅读 · 16 评论 -
设计模式之二 抽象工厂模式(Abstract Factory)
概念 提供了一个创建一系列相关或相关依赖对象的接口,而无需指定它们具体的类,也就是说我们经常学习到“一系列相关依赖的对象”的创建工作,但是由于需求的变化,往往存在着更多对象的创建工作,为的是如何不用在使用常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这样“系列对象创建工作”的强耦合关系?降低客户端和创建工作的强耦合度,我们引入了抽象工厂模式目的 提供了一个创建一系原创 2012-12-23 16:58:43 · 1733 阅读 · 15 评论 -
设计模式之三 原型模式(Prototype)
概要 原型模式的主要思想是基于现有的对象克隆一个新的对象出来,一般是有对象的内部提供克隆的方法,通过该方法返回一个对象的副本,这种创建对象的方式,相比我们之前说的几类创建型模式还是有区别的,之前的讲述的工厂模式与抽象工厂都是通过工厂封装具体的new操作的过程,返回一个新的对象,有的时候我们通过这样的创建工厂创建对象是不值得的。目的 使用原型实例指定创建对象的种类原创 2012-12-24 10:55:40 · 1665 阅读 · 7 评论 -
设计模式之四 观察者模式(Observer Pattern)
概述 观察者模式定义一种一对多的依赖关系,让多个观察者对象同时监听某一个主题,这个主题对象在状态变化时,会通知所有的观察者对象,使它们能够自动更新自己。 结构图 对应的代码 class Program { static void Main(string[] args) { Co原创 2012-12-25 09:46:47 · 1879 阅读 · 10 评论 -
设计模式之五 外观模式(Facade)
概述在软件开发系统中,客户程序会与很复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化,那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子系统与客户程序之间的依赖解耦?这就需要我们的外观模式再好不过了。目的为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。结构图 对应源码 cla原创 2012-12-26 09:33:33 · 1982 阅读 · 8 评论 -
设计模式之六 适配器模式(Adapter)
概述 为了满足在实际的项目中,由于应用环境的变化,而需要一些原本存在的对象会放到新的开发环境中,而此时新环境与该对象的接口是不能够直接相连,即互相不能认识、交换信息,为了满足这种“变化”,如何既能利用现有对象的良好的实现,同时又能满足新的环境所要求得接口,这时适配器模式再好不过了,下面我们来学习Adapter模式 目的将一个类的接口转换成客户希望的另一个接口,Adapt原创 2012-12-26 19:13:23 · 1860 阅读 · 8 评论 -
设计模式之七 命令模式(Command Pattern)
概述 客户端只是想要发出命令或者请求,不关心请求的真正接收者是谁,也不关心具体如何实现,而且同一个请求的动作可以有不同的请求内容,当然具体的处理功能也不一样,请问该怎么实现?下面我们来学习命令模式目的 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。 结构图 详细解析Co原创 2012-12-28 15:17:11 · 2230 阅读 · 13 评论