随笔分类 -  设计模式

设计模式 学习 之 原形模式
摘要:原形模式:定义用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 原形模式是一种创建型 的 设计模式。 阅读全文

posted @ 2016-01-14 22:39 元点之始 阅读(137) 评论(0) 推荐(0)

设计模式学习 之 单例模式
摘要:单例模式: 定义一个类有且仅有一个实例,并且自行实例化向整个系统提供。《来自百科》 这些 概念和要点 是 了解 单例模式的 一些基本概念C# 单例实现要点Singleton模式是限制而不是改进类的创建。Singleton类中的实例构造器可以设置为Protected以允许子类派生。Singleton模... 阅读全文

posted @ 2016-01-14 00:45 元点之始 阅读(250) 评论(0) 推荐(0)

设计模式学习 之 代理模式
摘要:代理模式:定义:为其他对象提供一种 代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用组成: 包括 抽象角色:通过接口或抽象类声明真实角色实现的业务方法 代理角色:实现抽象角色,是真实角色的代理,通过真... 阅读全文

posted @ 2016-01-09 01:00 元点之始 阅读(239) 评论(0) 推荐(0)

设计模式学习 之 装饰模式
摘要:装饰者模式(Decorator):定义:在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。首相了解什么时候会用到 装饰者模式?当我们在给一个类或对象 增加额外的 功能时, 通常想到的是 直接改变 类,添加功能,这显然违背了 开闭原则,是不可取的,可能会影响到其他正常功能的使用。还有一种... 阅读全文

posted @ 2016-01-07 23:24 元点之始 阅读(170) 评论(0) 推荐(0)

设计模式 之 设计的 六大原则(6) 开放封闭原则
摘要:开放封闭原则定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软... 阅读全文

posted @ 2016-01-07 23:05 元点之始 阅读(217) 评论(0) 推荐(0)

设计模式 之 设计的 六大原则(4) 接口隔离原则
摘要:接口隔离原则定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他... 阅读全文

posted @ 2016-01-07 23:04 元点之始 阅读(183) 评论(0) 推荐(0)

设计模式 之 设计的 六大原则(5)迪米特法则
摘要:迪米特法则定义:一个对象应该对其他对象保持最少的了解。问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案:尽量降低类与类之间的耦合。自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间... 阅读全文

posted @ 2016-01-07 23:04 元点之始 阅读(162) 评论(0) 推荐(0)

设计模式 之 设计的 六大原则(3) 依赖倒置原则
摘要:依赖倒置原则定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,... 阅读全文

posted @ 2016-01-07 23:02 元点之始 阅读(180) 评论(0) 推荐(0)

设计模式 之 设计的 六大原则(2) 里氏替换原则
摘要:里氏替换原则肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P ... 阅读全文

posted @ 2016-01-07 23:01 元点之始 阅读(181) 评论(0) 推荐(0)

设计模式 之 设计的 六大原则(1)单一职责原则
摘要:由于这些原则性东西 属于概念东西,就不具体以代码描述了。以下是摘自网上和自己的一些理解首先了解一些 面向对象的特性:面向对象 有 三大基本特征:封装 ,继承, 多态。封装:也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特... 阅读全文

posted @ 2016-01-07 09:43 元点之始 阅读(190) 评论(0) 推荐(0)

设计模式学习 之 策略模式
摘要:策略模式的定义:定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。独立于它的客户端 可以根据 自身选择 其中一种算法。举些常用的 例子: 你去 旅行 ,完成这一事件 可能有 不同的交通工具的 选择 ,汽车,火车,飞机 都可以 看成 策略模式中的 一种算法 ,商场 活动 打折 ,针... 阅读全文

posted @ 2015-12-29 21:30 元点之始 阅读(138) 评论(0) 推荐(0)

设计模式学习 之 简单工厂模式
摘要:有幸看到园友推荐的 《大话设计模式》十分感谢,准备练习一下,以免忘记。设计模式 需要灵活运用,不能为了 设计而设计,这样就得不偿失了。23种设计模式 分为 三大类型创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元... 阅读全文

posted @ 2015-12-28 23:25 元点之始 阅读(214) 评论(0) 推荐(0)

导航