设计模式
文章平均质量分 70
steven-zx
这个作者很懒,什么都没留下…
展开
-
策略模式
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 策略模式由抽象策略类、具体策略类、环境角色三部分组成。抽象策略类通常由有一个抽象类或一个接口构成,在这个抽象类或接口中定义所有支持的算法的公共接口。具体策略类继承于抽象策略类,封装了具体的算法或行为。环境角色持有一个抽象策略类的引用,用来供客户端调用。原创 2012-12-21 10:09:14 · 782 阅读 · 3 评论 -
职责链设计模式-计算收费有效时间
一、项目:机房收费系统二、下机结账收费需求分析 可以设置上机准备时间(分钟)、最少上机时间(分钟)、递增时间(分钟)、固定用户半小时费用、临时用户每小时费用。学生下机结账时,如果上机时间在准备时间内这段时间不计费,如果上机时间大于上机时间小于最少上机时间则按最少上机时间收费,如果上机时间大于最少上机时间,则按递增时间段收费。 a.问题解决分析原创 2013-04-14 20:31:02 · 2173 阅读 · 28 评论 -
简单工厂模式
从设计模式的类型上来说,简单工厂模式属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是有一个工厂对象根据需求决定创建出所需要的产品实例。 简单工厂模式的实现: 简单工厂模式是一个工厂类根据传入的参数动态决定创建一个产品类的实例。它负责实现创建所有实例的内部逻辑,可以被外界直接调用,创建所需的产品对象实例。原创 2012-12-16 15:09:27 · 832 阅读 · 6 评论 -
23种设计模式总结
按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。创建型模式用来处理对象的创建过程,创建型模式用来处理对象的创建过程,主要包含以下5种设计模式: 工厂方法模式(FactoryMethod Pattern):用一个抽象方法完成创建过程 抽象工厂模式(AbstractFactory Pattern):抽象工厂模式允许客户使用抽象接口来创建一组原创 2012-11-28 08:19:40 · 1145 阅读 · 6 评论 -
反射动态加载程序集Assembly.Load和Assembley.LoadFrom
抽象工厂需要借助反射机制来更好的实现,反射即动态加载某个程序集,从程序集中获得一个类从而动态实例化出一个对象。抽象加反射大大降低了耦合度。动态加载程序集的有两种方法Assembly.Load和Assembly.LoadFrom。 Assembly.Load方法 Assembly.Load方法通过程序集的名称(包括程序集名,版本信息,语言文化,公钥标记)来加载原创 2013-02-27 21:00:27 · 9249 阅读 · 6 评论 -
原型模式
原型模式模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节。原型模式中创建可定制对象的方法有两种深复制和浅复制。浅复制和深复制都是用来获得对象的副本,但是用法不同。C#中有两种类型变量,一种是值类型变量,一种是引用类型变量。当被复制对象内没有引用变量只有值类型变量时用浅复制即可实现复制的目的,而当被复制对象内有引用变量时浅复制只能复制内部对象的引用。浅复制是由系统提供的原创 2012-12-29 20:58:47 · 909 阅读 · 10 评论 -
设计模式总结
设计模式的分类:一.根据目的准则分类即按指定的模式完成指定的工作分类可分为三种1.创建型:与对象的创建有关,根据对象的创建方法划分工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂模式使一个类的实例化延迟到子类。好处:核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系原创 2013-01-08 13:44:41 · 1071 阅读 · 9 评论 -
装饰模式
写一个给人搭配不同的服饰的系统,比如类似QQ、网络游戏或论坛都有的Avatar系统。如何开发? 大多的程序初学者的想法是抽象出一个Person类,在Person类中封装各种方法如戴帽子、穿衬衣、穿西装、穿黑皮鞋等方法。尽管这样可以满足当前的功能需求能装扮出一个衣着打扮让一个程序员满意的人,可是当系统到了用户那里发现用户对当前的衣着不满意要求修改一下装扮,此时就需要把系统拿回去修原创 2012-12-21 16:01:06 · 989 阅读 · 8 评论 -
三层架构与mvc分层
三层 三层架构(3-tierapplication)通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的是为了“高内聚,低耦合”的思想。 表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统时他的所见所得。 作用:表示层是系统为用户准备的接口,用户通过表现层来使原创 2013-01-23 16:01:09 · 13654 阅读 · 15 评论 -
合作开发之后谈设计模式
在机房收费系统个人版中只用了一个抽象工厂加反射的设计模式,合作开发中要求尽可能的多用设计模式所以在原来的基础上又加了职责链、策略、模板、单例、外观等设计模式。设计模式每用一次都有不同的收获。这次就谈谈职责链跟模板方法模式吧!职责链设计模式 当我们第一次接触一个新事物时,首先要知道的肯定是它的名字。比如认识一个人,知道了它的名字之后才进一步对其进行了解,然后再跟他的名字产生联原创 2013-05-15 23:03:36 · 2243 阅读 · 11 评论