
设计模式
kybd2006
联系方式:kybd2006@hotmail.com(MSN)
展开
-
C#设计模式之Adapter
名称:Adapter 结构: 意图: 将一个类的接口转换成客户希望的另外一个接口。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适用性 : 你想使用一个已经存在的类,而它的接口不符合你的需求。 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工原创 2007-06-28 08:28:00 · 660 阅读 · 0 评论 -
C#设计模式编程之抽象工厂模式新解
概述 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。 意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 模型图 逻辑模型:原创 2007-10-29 12:25:00 · 652 阅读 · 0 评论 -
MVC设计模式带来更好的软件结构和代码重用
模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。MVC如何工作MVC是一个设计模式,它强制性的使应用程序的输原创 2007-10-18 12:08:00 · 871 阅读 · 0 评论 -
HOOK启思录---第三章 HOOK的应用模式
观察模式在HOOK很多应用中,有一类应用最为常用,那就是观察模式。对于信息获取的要求,在很多时候都是非常的重要的功能。在很多时候,我们都需要根据一定量的信息去判断如何决策。正如打仗一样,没有一定量的有意义的数据,就是摸黑,只能死路一条。像Windows提供的SetWindowHook就是典型地为这类应用准备的。而且这也是最普遍的用法。这个模式的特点是,在事情发生的时候,发出一个通知信息转载 2007-08-28 19:27:00 · 719 阅读 · 0 评论 -
C#设计模式迷你手册
一、 设计模式的隐喻 武功套路是习武的门径。新手要一招一式地练习套路,烂熟于心之后,熟能生巧,在实战之中即可见招拆招、运用自如——此时习武之人已从“新手”成长为“好手”。“高手”则没有套路,实战之中只有自然反应,然而一招一式浑然天成、恰到好处,似有似无、无中生有。“高手”之上还有“高高手”,他们达到的境界非我等凭借金氏武侠小说可以揣测。 设计模式之于设计,好比套路之于原创 2007-08-03 13:30:00 · 1030 阅读 · 0 评论 -
从追MM谈Java的23种设计模式
1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory. 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创转载 2007-07-28 12:44:00 · 586 阅读 · 0 评论 -
C#设计模式之Interpreter
名称:Interpreter 结构: 意图: 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 适用性 : 当有一个语言需要解释执行, 并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。而当存在以下情况时该模式效果最好: 该文法简单对于复杂的文法, 文法的类层次变得庞大而无法管原创 2007-07-06 20:15:00 · 872 阅读 · 0 评论 -
C#设计模式之Prototype
名称:Prototype 结构: 意图: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 适用性 : 当要实例化的类是在运行时刻指定时,例如,通过动态装载; 为了避免创建一个与产品类层次平行的工厂类层次时; 当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手原创 2007-07-06 20:14:00 · 621 阅读 · 0 评论 -
C#设计模式之Factory Method
名称:Factory Method 结构: 意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 适用性 : 当一个类不知道它所必须创建的对象的类的时候。 当一个类希望由它的子类来指定它所创建的对象的时候。 当类将创建对象的职责委托给多个帮助子类中的某一个,并且原创 2007-07-04 18:10:00 · 483 阅读 · 0 评论 -
C#设计模式之Builder
名称:Builder 结构: 意图: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 适用性 : 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 当构造过程必须允许被构造的对象有不同的表示时。 示例代码:// Builder namespace Builder_DesignP原创 2007-06-29 18:49:00 · 725 阅读 · 0 评论 -
C#设计模式之Template Method
名称:Template Method 结构: 意图: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 适用性 : 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。 各子类中公共的行为应被提取出来并集中到一个公共父类中以避原创 2007-06-29 18:49:00 · 596 阅读 · 0 评论 -
C#设计模式之Singleton
名称:Singleton 结构: 意图: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 适用性 : 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。 示例代码:// Singletonnamespace S原创 2007-06-28 08:29:00 · 637 阅读 · 0 评论 -
C#设计模式之Abstract Factory
名称:Abstract Factory 结构: 意图: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 适用性 : 一个系统要独立于它的产品的创建、组合和表示时。 一个系统要由多个产品系列中的一个来配置时。 当你要强调一系列相关的产品对象的设计以便进行联合使用时。 当你提供一个产品类原创 2007-06-28 08:28:00 · 637 阅读 · 0 评论 -
C#设计模式编程之抽象工厂模式新解(续)
针对美国企业为系统建模 为了拓展国际市场,我们要把该系统移植给美国公司使用。 美国企业的工资计算同样是: 员工的工资 = 基本工资 + 奖金 - 个人所得税。 但是他们的奖金和个人所得税的计算规则不同于中国企业: 美国企业奖金和个人所得税的计算规则是: 奖金 = 基本工资 * 15 % 个人所得税 = (基本工资 * 5% + 奖金 * 25%) 根据前面为中国企业建模经验,我们仅仅原创 2007-10-29 12:30:00 · 760 阅读 · 0 评论