随笔分类 -  设计模式

摘要:直接上代码首先定义一个接口1 public interface ITransferData2 {3 Stream GetStream(DataTable table);4 DataTable GetData(Stream stream);5 }View Code 如果需要直接操作文件的话,就自己在封装一次然后定义csv类的具体实现public class CsvTransferData : ITransferData { private Encoding _encode; public CsvTransferDa... 阅读全文
posted @ 2013-11-25 17:15 qisheng722 阅读(17515) 评论(15) 推荐(9) 编辑
摘要:Net设计模式实例之状态模式(State Pattern)一、状态模式简介(Brief Introduction)状态模式(State Pattern),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。二、解决的问题(What To Solve)状态模式主要解决的是当控制一个对象状态装换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简单化。当一个对象行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,就可以考虑使用状态模式了。三、状态模式分析(Analysis)1、状态模式结构Context类:维护一个Co 阅读全文
posted @ 2012-02-08 10:49 qisheng722 阅读(267) 评论(0) 推荐(0) 编辑
摘要:装饰模式(Decorator Pattern)——.NET设计模式系列之十Terrylee,2006年3月概述在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。如何使“对象功能的扩展”能够根据需要来动态地实现?同时避免“扩展功能的增多”带来的子类膨胀问题?从而使得任何“功能扩展变化”所导致的影响将为最低?这就是本文要讲的Decorator模式。意图动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活 阅读全文
posted @ 2012-02-07 09:17 qisheng722 阅读(299) 评论(0) 推荐(1) 编辑