Ivan-Yan'Blog 记录点滴所得

CSDN Blog:http://blog.csdn.net/JustLovePro
随笔 - 30, 文章 - 0, 评论 - 37, 引用 - 1
数据加载中……

Design Pattern

一次运用设计模式对现有系统进行重构的尝试(二)
     摘要: 关于这次尝试的实践在上次发文后(http://www.cnblogs.com/Ivan-Yan/archive/2008/10/29/1322119.html),得到了几位朋友(木野狐(Neil Chen) 、T2噬菌体等)的指点,在这里再次感谢你们的热心帮助。  阅读全文

posted @ 2008-11-03 10:01 Ivan-Yan 阅读(1279) | 评论 (16)  编辑

一次运用设计模式对现有系统进行重构的尝试(一)
     摘要: 一直在开发一个控制产品入库和出货的系统,基本的业务流程是这样的:首先开立产品入库联络单,然后仓库会根据此单据到进行产品实物入库,待确认数量,料号无误后,此信息要抛转ERP系统中,以作账务控制...(其中更多作业细节从略)   阅读全文

posted @ 2008-10-29 15:22 Ivan-Yan 阅读(1070) | 评论 (10)  编辑

我读设计模式之模板方法模式(TemplateMethod Pattern)
     摘要: 这个模式还是经常用到的:把一些子类共有的操作从子类中抽象出来,实现代码复用;利用函数多态,实现对不同实现的子类的访问。   阅读全文

posted @ 2008-08-04 17:35 Ivan-Yan 阅读(95) | 评论 (0)  编辑

我读设计模式之建造者模式(Builder Pattern)

posted @ 2008-07-31 10:42 Ivan-Yan 阅读(49) | 评论 (0)  编辑

我读设计模式之外观模式(Facade Pattern)
     摘要: 外观模式强调,外部(客户端)与子系统之间通过一个统一的接口(外观)进行通信。也就说,一个系统中可能包括很多子系统,客户端与其中的任何子系统的通信都通过统一的外观实现,而避免使客户端直接与子系统发生关系。  阅读全文

posted @ 2008-07-30 13:54 Ivan-Yan 阅读(50) | 评论 (0)  编辑

我读设计模式之观察者模式(Observer Pattern)
     摘要: Observer模式的优点是实现了表示层和数据逻辑层的分离,并定义了稳定的更新消息传递机制,类别清晰,并抽象了更新接口,使得可以有各种各样不同的表示层(观察者)。  阅读全文

posted @ 2008-07-29 15:33 Ivan-Yan 阅读(70) | 评论 (0)  编辑

我读设计模式之代理模式(Proxy Pattern)
     摘要: 代理模式的使用非常广泛。开发过程中,有些对象是部署在网络中另外一台server上,比如web service。如果在客户端直接进行对象访问,会增加client操作的复杂度(处理网络通信的问题等)。这个时候,应用代理模式,在客户端建立远端对象的代理对象,让代理对象处理复杂的逻辑,而客户端只简单的调用此代理对象即可。  阅读全文

posted @ 2008-07-25 09:59 Ivan-Yan 阅读(66) | 评论 (1)  编辑

我读设计模式之原型模式(Prototype Pattern)
     摘要: 开发过程中,有时候需要创建多个同类型的对象。按照通常的思维,我们只是new多个对象即可。但是如果这个对象的初始化是个耗时的过程,那么多个对象的创建将很难令人接受。 原型模式的用意是:通过给出一个原型对象来指明所要创建的对象类型,然后用复制这个原型对象的办法创建出更多的同类型对象。   阅读全文

posted @ 2008-07-24 14:36 Ivan-Yan 阅读(50) | 评论 (0)  编辑

我读设计模式之装饰模式(Decorator Pattern)
     摘要: TerryLee的Blog中对装饰模式的引入和讨论真是思路清晰,精准到位,跟着他的思路,总算有点头绪。习惯了过程化编程的我,对于这种需求的变化,首先想到的肯定是改写实现方法体即可。但是通过这段时间学习设计模式和设计原则,我明白这样做的代价只能是维护和扩展的痛苦和艰难。所以,尝试着用OO的思想来冲洗我过程化的习惯,一时还真的觉得挺难接受。  阅读全文

posted @ 2008-07-23 11:41 Ivan-Yan 阅读(73) | 评论 (0)  编辑

我读设计模式之策略模式(Strategy pattern)
     摘要: 总的来说,策略模式给我印象是:在出现多个选项供选择的时候(if,else,switch)使用非常方便,避免了因为太多的选择出现难以维护的情况出现。   阅读全文

posted @ 2008-07-22 10:38 Ivan-Yan 阅读(69) | 评论 (0)  编辑

我读设计模式之抽象工厂模式(Abstract Factory)
     摘要: 在实际开发中,我们经常把数据访问类根据一定的情况划分为多个类(比如按照系统模块,每个模块设计一个自己的数据访问类)。而利用工厂方法模式的设计,我们这个时候就不得不为每个类设计抽象,设计工厂,这个工作量可想而知。对于这种一系列相关对象的创建,再使用工厂方法模式就不是很恰当了。  阅读全文

posted @ 2008-07-21 14:07 Ivan-Yan 阅读(77) | 评论 (0)  编辑

我读设计模式之工厂方法模式
     摘要: 之前读的简单工厂模式,可以看到:如果设计者很清楚要创建几个对象(具体类),并且将来不怎么要求扩展的情况下,用它基本上可以工作的很好。但是,还拿我的举例来说,如果哪天真的有了需求变化,新增了一个数据库,那么我们除了要新增一个具体类外(不可避免),还要修改工厂类,添加判断条件。可以设想一下,对于一个复杂的系统,如果这样的需求经常发生,那么我们就要整天修改工厂类,使之逐渐庞大...
  阅读全文

posted @ 2008-07-18 14:48 Ivan-Yan 阅读(76) | 评论 (0)  编辑

我读设计模式之简单工厂模式
     摘要: 简单工厂模式的核心是通过建立工厂类,此工厂类根据传递的参数不同,实例化不同的具体类。这里面涉及到几部分内容:
1.工厂类:负责创建具体类实例
2.抽象类 :所有具体类的抽象父类,可以是接口,也可以是普通类,更可以是抽象类
3.具体类 :抽象类的具体实现类,一般有多个。   阅读全文

posted @ 2008-07-17 14:33 Ivan-Yan 阅读(125) | 评论 (0)  编辑

我读设计模式--Singleton Pattern
     摘要: 之前在开发winform程序的时候,经常做这样的控制:每个form同时只能出现一个。方法有很多,通常我都采用这种方式:(通过一个public 的static 字段进行控制)
  阅读全文

posted @ 2008-07-16 15:54 Ivan-Yan 阅读(106) | 评论 (0)  编辑