![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 61
唐伯虎999
这个作者很懒,什么都没留下…
展开
-
简单工厂模式
public class Operation { private double numA = 0; private double numB = 0; public double NumA { get { return numA; } set { numA = val原创 2015-05-21 20:36:25 · 269 阅读 · 0 评论 -
代理模式
class Mgirl { private string name; public string Name { get { return name; } set { name = value; } } } interface Mgift原创 2015-05-22 22:12:47 · 354 阅读 · 0 评论 -
装饰器模式
http://blog.csdn.net/hust_is_lcd/article/details/7884320原创 2015-09-02 16:37:44 · 243 阅读 · 0 评论 -
工厂方法模式
简单工厂模式的最大优点在于工厂类包含了必要的逻辑的推断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。但因为修改了工厂类,违背了开放封闭原则。工厂方法模式,定义一个创建工厂的接口,让子类决定实例化那一个类。工厂方法是工厂类的实例化延迟到其子类。但工厂方法模式也有一定的问题,客户端需要决定实例化哪一个工厂来实现运算类,其选择问题还是存在的,也就是工厂方法原创 2015-05-23 19:59:12 · 246 阅读 · 0 评论 -
职责链模式
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks原创 2015-06-04 20:06:13 · 248 阅读 · 0 评论 -
桥接模式
聚合:表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。合成:表示一种强的拥有关系,体现了严格的部分与整体的关系,部分和整体的生命周期一样。桥接模式:将抽象部分和它的实现部分分离,使他们都可以独立的变化。using System;using System.Collections.Generic;using System.Linq;using S原创 2015-06-03 21:40:12 · 203 阅读 · 0 评论 -
依赖倒转原则/里氏代换原则
1 抽象不应该依赖细节,细节应该依赖于抽象。高层模块不应该依赖底层模块,两个都应该依赖抽象。 就是针对接口编程,不要对实先编程。就好比,主板,cpu,硬盘都是针对接口设计的,如果针对实习设计,内存就要对应到具体的某个品牌的主板,就会出现内存换了,主板也要换。2 里:子类型必须能够替换掉他们的父类型原创 2015-05-22 19:32:42 · 371 阅读 · 1 评论 -
开发-封闭原则
面对需要,对程序的修改是通过增加新代码进行的,而不是更改现有的代码原创 2015-05-22 19:12:20 · 283 阅读 · 0 评论 -
单一职责原则
单一职责原则:就一个类而言,应该仅有一个引起它变化的 原因一个类的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱原创 2015-05-22 19:07:11 · 272 阅读 · 0 评论 -
单例模式
单例模式:保证一个类仅有一个实例,并提供一个访问他的全局访问点。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 单例模式{ class Singleton原创 2015-06-01 19:52:43 · 239 阅读 · 0 评论 -
状态模式
状态模式:当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态转换的条件表达使过于复杂时的情况,把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。当一个对象的行为取决于它的状态,并且他必须在运行时刻根据状态改变它的行为时,就可以考虑使用状态模式了。using System;using Syst原创 2015-05-30 19:38:56 · 265 阅读 · 0 评论 -
观察者模式
观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;原创 2015-05-29 20:51:57 · 252 阅读 · 0 评论 -
原型模式
原型模式:从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 原型模式{ class Resum原创 2015-05-28 19:58:06 · 211 阅读 · 0 评论 -
模板方法模式
模板方法模式:父类中定义一个操作中的算法骨架,讲算法的具体实现步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;原创 2015-05-28 21:13:29 · 229 阅读 · 0 评论 -
策略模式
abstract class Strategy { public abstract void AlgorithmInterface(); } class StrategyA : Strategy { public override void AlgorithmInterface() {原创 2015-05-21 21:43:39 · 232 阅读 · 0 评论 -
外观模式
外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。在以下情况下可以考虑使用外观模式:(1)设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。(2) 开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。(3) 维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩原创 2015-11-12 20:52:48 · 381 阅读 · 0 评论