ESFramework 与设计模式(01) -- 应用Composite模式
在ESFramework 4.0 进阶(02)-- 核心:消息处理的骨架流程一文中我们介绍的ESFramework提供的消息处理的骨架流程,假设我们有这样的需求,我们需要在网关级消息监控器处放置两个监控器,一个用于对收到的消息进行特殊的验证,另一个用于检查重复的消息。咋一看,可能觉得骨架流程做不到这一点,因为它只为网关级监控器预留了一个
http://www.cyqdata.cn/cnblogs/article-detail-35260
浅谈设计模式01-策略模式
一、 定义 最近开始研读Head First设计模式,这本书给人的感觉耳目一新,不容易犯困啊。今天和大家分享一下策略模式。 1. 定义: 策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用该算法的客户。 上图为策略模式结构图,其中: Strategy可以声明为接口或者抽象类,主要用来抽象不同的算法或行为; ConcreteStr
http://www.cyqdata.cn/cnblogs/article-detail-35203
PHP面向接口编程——耦合设计模式 简单范例
了解些面向对象的知识,自己写了段代码测试一下,欢迎高手指点.....
--------------------------------------------------------------------<?phpinterface js{function ys($a,$b);}
class Af implements js{
function ys($a,$b){ 
http://www.cyqdata.cn/cnblogs/article-detail-35179
设计模式之一(策略模式)
今天看了《设计模式》的第一章——策略模式。感觉自己懂了一点,但不知道自己在实际中会用不。
定义一系列的算法,把他们一个一个的封装起来,并使它们可以相互替换。该模式使得算法可独立使用它的客户而变换。  
http://www.cyqdata.cn/cnblogs/article-detail-35068
C#设计模式学习笔记-单例模式
最近在学设计模式,学到创建型模式的时候,碰到单例模式(或叫单件模式),现在整理一下笔记。
在《Design Patterns:Elements of Resuable Object-Oriented Software》中的定义是:Ensure a class only has one instance,and provide a global point of access to。它
http://www.cyqdata.cn/cnblogs/article-detail-32428
对象工厂设计模式
如果你在你的某个系统中增加了一个子类,你要创建这个子类的对象,但又不想改变任何原有代码,有可能么?
答案是肯定的,用“对象工厂”设计模式。
对象工厂(Object Factory)是GoF 23种设计模式之外的模式,它既不是抽象工厂(Abstract Factory),也不是工厂方法(Factory Meth
http://www.cyqdata.cn/cnblogs/article-detail-32326
关于Memcache mutex设计模式的.net实现
之前在网上看过memcache-mutex的场景分析和实现代码,这里将.net方式加以实现,当然这里主要是依据原文的伪代码照猫画虎,以此做为总结及记录。如果您对相应实现感兴趣可以尝试使用本文提供的代码进行测试,如果有问题请及时与我联系。 原文链接:http://timyang
http://www.cyqdata.cn/cnblogs/article-detail-25415
[原创-ASP.NET MVC]Contact Manager开发之旅迭代4 - 利用设计模式松散耦合
本翻译系列为asp.net mvc官方实例教程。在这个系列中,Stephen Walther将演示如何通过ASP.NET MVC framework结合单元测试、TDD、Ajax、软件设计原则及设计模式创建一个完整的Contact Manager应用。本系列共七个章节,也是七次迭代过程。本人将陆续对其进行翻译并发布出来,希望能对学习ASP.NET MVC 的各位有所帮助。由于本人也是个MVC菜鸟,
http://www.cyqdata.cn/cnblogs/article-detail-11660
ASP.NET的MVC设计模式
当开发者听到“设计模式”这个词时,他们通常联想到两个场景。一组开发者正在讨论许多创造性意见,正在开会,但是却没有进行编码。另外一组人能制定出正确的计划,保证系统能够开发成功,代码可以重用。 而现实一般都处于两者中间。在为他们的公司设计解决方案的时候,结构设计者和系统设计者应该寻找重复的模式。但是模式只是开发健壮、可重用代码的
http://www.cyqdata.cn/cnblogs/article-detail-11159
工作流系统之三十二 设计模式在工作流系统开发中的运用
GoF四人组一共介绍了23种面向对象的设置模式,为每一种特定的实现取了一个名字,根据模式的应用目的不同,将他们分为3类,创建型、结构性和行为型。面向对象设计三原则:优先使用组合针对接口编程为变化而设计
设计模式不是万能的,熟悉了这些模式,灵活运用它,并且不局限于设计模式,构架出适合自己的设计才是最重要的。
在工作流系统的开发中,后台的类是纯面向对象的方式实现的,因此少不了设计模式的运用:
单例模式
http://www.cyqdata.cn/cnblogs/article-detail-6252
Jla框架介绍(五) 设计模式:模块和实例管理
今天我要分享的是模块管理,这是Jla框架的一个非常重要的内容,本篇所介绍的模式也将比前面介绍的Jla框架核心存在更多争议,坦白的说,我的这个解决方案面向了复杂的设计模式问题,却并没有提出自己的解决方案,最多只是将问题变得更清晰一些。 大家都知道,要开发一个较为复杂的程序,光靠OOP的思路肯定是解决不了问题,因为O
http://www.cyqdata.cn/cnblogs/article-detail-5590
设计模式在软件应用系统开发中的实战参考
晚上在武汉飞往杭州的飞机上感觉有些无聊,这次总算是见到一位美女空姐了,的确很漂亮看着赏心悦目,无聊了就写一篇博客到杭州家里发布上去,就写一篇设计模式在实际应用系统开发中的例子。 其实真正能看懂设计模式并熟练应用设计模式并不是一件很容易的事情,因为大部分的日常开发工作不集合设计陌生等都可以达到目的。 当有一些特殊需要时,若不采
http://www.cyqdata.cn/cnblogs/article-detail-3164
设计模式速查手册-创建型
Is & Is Not
这篇文章是……
仅包含模式的名称、简要说明、结构类图和结构示例代码。
可用于快速浏览、回顾、查询及复习设计模式。
模式的意图和使用场合来自作者的个人实践总结。
虽然示例代码使用C#,但是尽量不会用到C#中特有的特性、接口及方法,而是起到一个通用框架说明的作用。
这篇文章不是……
对设计模式面面俱到。
对设计模式详细而深入的探讨和研究。
从其它文献中照搬的东西。
保证绝对没有错误(虽然我尽我所能让其准确)。
讲述设计模式在C#中具体实现方法。
01 Abstract Factory(抽象工厂)
简要说明
抽象工厂模式拥有一组工厂类,这些工厂类实现同一个抽象工厂接口,这个接口定义了一系列创建方法,每一个方法创建一种产品,所有方法所创建的产品组成一个系列。不同的具体工厂类创建不同系列的系列产品,系列中每一种产
http://www.cyqdata.cn/cnblogs/article-detail-2251
研磨设计模式之简单工厂模式-2
2 解决方案
1 简单工厂来解决
用来解决上述问题的一个合理的解决方案就是简单工厂,那么什么是简单工厂呢?1:简单工厂定义
2:应用简单工厂来解决的思路 分析上面的问题,虽然不能让模块外部知道模块内的具体实现,但是模块内部是可以知道实现类的,而且创建接口是需要具体实现类的。 那么干脆在模块内部新建一个类,在这个类里面来创建接口,然后把创建好的接口返回给客户端,这样外部应用就只需要根据这个类来获取相应的接口对象,然后就可以操作接口定义的方法了。把这样的对象称为简单工厂,就叫Factory吧。 &n
http://www.cyqdata.cn/cnblogs/article-detail-1644
【原】设计模式之单例模式
为什么需要单例模式
在很多项目中,我们可能都会遇到这样一种情况:某个类的对象在整个项目是唯一的,它不能也没必要被实例化多次,比如窗口管理器、皮肤加载器等等。这就催生出了如下的现实需求:如何确保某个类只有一个实例。
在结构化程序设计方法中,我们可以使用全局变量来实现唯一实例,但它不能保证唯一性,因为它无法确保使用者不在其他的地方进行实例化。在面向对象程序设计方法中,我们有了更好的选择;我们可以通过将类的构造函数隐藏起来,以防止用户多次实例化对象,同时给用户提供一个获取该类实例的接口。这样就从类本身保证了对象的唯一性,防止了用户的误用。
什么是单例模式
单例模式,又称单件模式
http://www.cyqdata.cn/cnblogs/article-detail-366
设计模式学习(六):重构与模式,推荐书籍(完)
备注:
1. 模式常常组合使用,共同解决问题。
2. 模式是特定场景下优雅的解决方案,因此场景很关键。在软件设计中,特定的场景可能是显而易见的,可能是隐而不现的,有时甚至是设计者有意创造的。因此使用模式时,对问题的分析至关重要。
3. 模式的使用是有先后之分的。
4. DP书中所给的结构图仅仅是模式可能的实现方式之一,但不是唯一。实现一个模式往往有多种途径。
5.  
http://www.cyqdata.cn/cnblogs/article-detail-365
设计模式系列-适配器模式
一、上篇回顾
通过上篇的简单讲解,我们知道了,组合模式意图是通过整体与局部之间的关系,通过树形结构的形式进行组织复杂对象,屏蔽对象内部的细节,对
外展现统一的方式来操作对象,是我们处理更复杂对象的一个手段和方式。本文以查询控件为例,说明了,查询控件内部的组成元素,及如何操作内部的组
成元素,包括添加元素,删除和处理相应事件的Handler,当然组合模式的作用远比这些强大,后面我们肯定会在一些实例代码中运用到组合模式的。组合
模式如果在条件允许的情况下,我们尽量使用组合模式来处理复杂对象,远比通过继承出来的对象来的有效。
组合模式-强调的是如何组织整体和局部之间的结构,将整体和局部之间的关系,通过树形这样的结构来组织这种
http://www.cyqdata.cn/cnblogs/article-detail-255
系统架构技能之设计模式-组合模式
一、上篇回顾
我们上篇主要讲述了结构型模式中的外观模式,外观模式作为结构型模式中的一个简单又实用的模式,外观模式通过封装细节来提供大粒度的调用,
直接的好处就是,封装细节,提供了应用写程序的可维护性和易用性。外观模式一般应用在系统架构的服务层中,当我们是多个不同类型的客户端应用程序
时,比如一个系统既可以在通过Web的形式访问,也可以通过客户端应用程序的形式时,可能通过外观模式来提供远程服务,让应用程序进行远程调用,
这样通过外观形式提供服务,那么不管是什么样的客户端都访问一致的外观服务,那么以后就算是我们的应用服务发生变化,那么我们不需要修改没一个客
户端应用的调用,只需要修改相应的外观应用即可。
我们主要是讲述了以下的几种情况,使用外观模式可能更适合:
 
http://www.cyqdata.cn/cnblogs/article-detail-202
系统架构技能之设计模式-抽象工厂模式
一、上篇回顾
上篇我们主要讲述了简单工厂模式和工厂模式。并且分析了每种模式的应用场景和一些优缺点,我们现在来回顾一下:
简单工厂模式:一个工厂负责所有类型对象的创建,不支持无缝的新增新的类型对象的创建。
工厂模式:多个工厂负责多个类型对象的创建,每个工厂只负责具体类型对象的创建,支持无缝的新增类型对象的创建,需要实现工厂接口类和具体的类型对象类。
我们来简单的对比下这2个模式的优缺点:
模式名称
优点
缺点
简单工厂模式
一个工厂负责所有对
http://www.cyqdata.cn/cnblogs/article-detail-126
系统架构技能之设计模式-系列索引
园子里面有太多优秀的设计模式文章了,但是可能每个人的出发角度和关注点不同,可能会对每个模式理解的角度和切面不同,我想以我自己理解的方式来跟大家共同探讨下常用的设计模式,并且我会结合 工作中的开发实际场景来说明每个模式的用法和特点,希望能对大家有所帮助,当然这些内容都是个人在实际项目中的总结和实践,错误或者理解有误之处,还请大家多多指正,多谢大家前来交流! 创建型 1、系统架构技能之设计模式-单件模式 2、系统架构技能之设计模式-工厂模式
http://www.cyqdata.cn/cnblogs/article-detail-77