随笔分类 -  设计模式介绍

1
摘要:概述在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合... 阅读全文
posted @ 2015-08-02 18:27 Dynamics365峰 阅读(223) 评论(0) 推荐(0) 编辑
摘要:概述在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职... 阅读全文
posted @ 2015-08-02 18:22 Dynamics365峰 阅读(163) 评论(0) 推荐(0) 编辑
摘要:命令模式(Command Pattern)——.NET设计模式系列之十七TerryLee,2006年7月概述在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行... 阅读全文
posted @ 2015-08-02 18:18 Dynamics365峰 阅读(304) 评论(0) 推荐(0) 编辑
摘要:摘要:Template Method模式是比较简单的设计模式之一,但它却是代码复用的一项基本的技术,在类库中尤其重要。主要内容1.概述2.Template Method解说3..NET中的Template Method模式4.适用性及实现要点概述变化一直以来都是软件设计的永恒话题,在XP编程中提倡拥... 阅读全文
posted @ 2015-08-02 18:11 Dynamics365峰 阅读(193) 评论(0) 推荐(0) 编辑
摘要:——探索设计模式系列之十五Terrylee,2006年5月摘要:结构型模式,顾名思义讨论的是类和对象的结构,它采用继承机制来组合接口或实现(类结构型模式),或者通过组合一些对象,从而实现新的功能(对象结构型模式)。这些结构型模式,它们在某些方面具有很大的相似性,仔细推敲,侧重点却各有不同。本文试图对... 阅读全文
posted @ 2015-08-02 18:09 Dynamics365峰 阅读(168) 评论(0) 推荐(0) 编辑
摘要:代理模式(Proxy Pattern)——.NET设计模式系列之十四Terrylee,2006年5月摘要:在软件系统中,有些对象有时候由于跨越网络或者其他的障碍,而不能够或者不想直接访问另一个对象,如果直接访问会给系统带来不必要的复杂性,这时候可以在客户程序和目标对象之间增加一层中间层,让代理对象来... 阅读全文
posted @ 2015-08-02 18:05 Dynamics365峰 阅读(440) 评论(0) 推荐(0) 编辑
摘要:享元模式(Flyweight Pattern)——.NET设计模式系列之十三Terrylee,2006年3月摘要:面向对象的思想很好地解决了抽象性的问题,一般也不会出现性能上的问题。但是在某些情况下,对象的数量可能会太多,从而导致了运行时的代价。那么我们如何去避免大量细粒度的对象,同时又不影响客户程... 阅读全文
posted @ 2015-08-02 18:02 Dynamics365峰 阅读(146) 评论(0) 推荐(0) 编辑
摘要:外观模式(Façade Pattern)——.NET设计模式系列之十二Terrylee,2006年3月概述 在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化。那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子系统与客户程序之间的... 阅读全文
posted @ 2015-08-02 17:56 Dynamics365峰 阅读(152) 评论(0) 推荐(0) 编辑
摘要:组合模式(Composite Pattern)——.NET设计模式系列之十一Terrylee,2006年3月概述组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。意图将... 阅读全文
posted @ 2015-08-02 17:44 Dynamics365峰 阅读(134) 评论(0) 推荐(0) 编辑
摘要:装饰模式(Decorator Pattern)——.NET设计模式系列之十Terrylee,2006年3月概述在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致... 阅读全文
posted @ 2015-08-02 17:36 Dynamics365峰 阅读(167) 评论(0) 推荐(0) 编辑
摘要:桥接模式(Bridge Pattern)——.NET设计模式系列之九Terrylee,2006年2月概述在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要... 阅读全文
posted @ 2015-08-02 17:31 Dynamics365峰 阅读(117) 评论(0) 推荐(0) 编辑
摘要:适配器模式(Adapter Pattern)——.NET设计模式系列之八Terrylee,2006年2月概述在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,... 阅读全文
posted @ 2015-08-02 17:27 Dynamics365峰 阅读(131) 评论(0) 推荐(0) 编辑
摘要:创建型模式专题总结(Creational Pattern)——.NET设计模式系列之七Terrylee,2006年1月概述创建型模式,就是用来创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。本文对五种常用创建型模式进行了比较,通过一个游戏开发场景的例子来说该... 阅读全文
posted @ 2015-07-31 10:08 Dynamics365峰 阅读(132) 评论(0) 推荐(0) 编辑
摘要:原型模式(Prototype Pattern)——.NET设计模式系列之六Terrylee,2006年1月概述在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动... 阅读全文
posted @ 2015-07-31 10:05 Dynamics365峰 阅读(202) 评论(0) 推荐(0) 编辑
摘要:工厂方法模式(Factory Method)——.NET设计模式系列之五Terrylee,2004年1月2日概述在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象... 阅读全文
posted @ 2015-07-31 09:57 Dynamics365峰 阅读(233) 评论(0) 推荐(0) 编辑
摘要:建造者模式(Builder Pattern)——.NET设计模式系列之四Terrylee,2005年12月17日概述在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确... 阅读全文
posted @ 2015-07-31 09:46 Dynamics365峰 阅读(249) 评论(0) 推荐(0) 编辑
摘要:抽象工厂模式(Abstract Factory)——探索设计模式系列之三Terrylee,2005年12月12日概述在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封... 阅读全文
posted @ 2015-07-29 10:35 Dynamics365峰 阅读(143) 评论(0) 推荐(0) 编辑
摘要:单件模式(Singleton Pattern)——.NET设计模式系列之二Terrylee,2005年12月07日概述Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时... 阅读全文
posted @ 2015-07-29 09:49 Dynamics365峰 阅读(192) 评论(0) 推荐(0) 编辑
摘要:最初写探索设计模式系列的时候,我只是想把它作为自己学习设计模式的读书笔记来写,可是写到今天,设计模式带给我的震撼,以及许多初学者朋友的热心支持,让我下定决心要把这个系列写完写好,那怕花上再多的时间也无所谓。本部分内容不断更新中。目录计划:第Ⅰ部分开篇开篇第Ⅱ部分创建型模式篇第1章单件模式(Singl... 阅读全文
posted @ 2015-07-29 09:37 Dynamics365峰 阅读(124) 评论(0) 推荐(0) 编辑
摘要:.NET设计模式开篇——.NET设计模式系列之一Terrylee,2005年12月06日前言加入Design & Pattern团队有几个月的时间了,惭愧的是从没有写过关于设计模式的随笔,得到wayfarer的同意,把企业库系列的随笔放在了团队的首页上。不是不想去写这样的随笔,也不是没有时间,自己初... 阅读全文
posted @ 2015-07-29 09:37 Dynamics365峰 阅读(132) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示