链接

上一月2010年3月下一月
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910

公告

本博内容都为个人转载收藏,不用于商业目的。 文章版权归原作者所有,如有不当可联系本人。 Email:pangandyou#163.com(#为@号)

jaycee个人收藏

按标签浏览

所有标签 » 设计模式 (RSS)
  • 抽象工厂模式(Abstract Factory)

    概述 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。 意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 模型图 逻辑模型: 物理模型: 生活中的例子 抽象工厂的目的是要提供一个创建一系列相关或相互依赖对象的接口,而不需要指定它们具体的类。这种模式可以汽车制造厂所使用的金属冲压设备中找到...
  • 单件模式(Singleton Pattern)

    概述 Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。 从另一个角度来说,Singleton模式其实也是一种职责型模式。因为我们创建了一个对象,这个对象扮演了独一无二的角色,在这个单独的对象实例中,它集中了它所属类的所有权力,同时它也肩负了行使这种权力的职责! 意图...
  • 封装与程序耦合

    作者: 亚历山大同志 首先什么是封装就不用多说了,上次说到,类是用来描述是什么,属性表示有什么,而行为表示能够执行什么动作的时候没有进一步对如何封装这些概念来做进一步的阐述。 对属性的封装: 属性表示对象的状态,而状态在程序里是使用数据来表示的,所以类中使用变量的来存储。所以一个类的内部成员变量是用来存储对象的状态的。 为了封装状态,我们需要将变量的访问性设置为private。 但是很多时候对象的某些状态是需要外界可见的(外部可见的状态,很容易理解,如果对象的状态都不清楚,那不是两眼一抹黑闷头操作...
  • 颠覆传统-面向对象的设计思想(序章)

    从我们最初接触面向对象思想的时候,我想我们接触到的第一个概念应该就是“ 类 ”,我们一直在讨论诸如如何设计类、如何实现类等高深的问题,但是我们有没有思索过到底什么叫做“类”,类的本质是什么?。按照大多数的面向对象的书籍中的介绍来看,类就是一个数据结构,封装了数据和操作,对于这样的答案,我估计大家都不会满意。 那到底什么是类呢?在讨论这个问题之前,我们先探讨一下类的由来。“ 类 ”在英语对应的单词是“ Class ”,如果大家翻一翻英语词典就可以查到“Class”的原意是指“ 种类、把...分类(或分等级...
    发表于 八月 07 2007, 11:30 下午 作者 admin with | with no comments
  • C#设计模式(3)

    三、 依赖倒置原则(DIP) 依赖倒置(Dependence Inversion Principle)原则讲的是:要依赖于抽象,不要依赖于具体。 简单的说,依赖倒置原则要求客户端依赖于抽象耦合。原则表述: 抽象不应当依赖于细节;细节应当依赖于抽象; 要针对接口编程,不针对实现编程。 反面例子: 缺点:耦合太紧密,Light发生变化将影响ToggleSwitch。 解决办法一: 将Light作成Abstract,然后具体类继承自Light。 优点:ToggleSwitch依赖于抽象类Light,具有更高的稳定性...
    发表于 八月 07 2007, 10:33 下午 作者 admin with | with no comments
  • C#设计模式(2)

    《人月神话》焦油坑、没有银弹 * 软件腐化的原因: 问题所在 设计目标 ---------------------------------------------------------------------------- 过于僵硬 可扩展性(新性能可以很容易加入系统) 过于脆弱 灵活性(修改不会波及其它) 复用率低 粘度过高 可插入性(新功能容易加入系统(气囊加入方向盘)) * 提高系统可复用性的几点原则: 传统复用: 1. 代码的粘帖复用 2. 算法的复用 3. 数据结构的复用 * 可维护性与可复用性并不完全一致...
    发表于 八月 07 2007, 07:46 下午 作者 admin with | with no comments
  • C#设计模式(1)

    一、 C# 面向对象程序设计复习 源码下载 二、 设计模式举例 在设计模式中有一种模式叫Builder模式,其原理如下: 我们可以将Builder理解成电饭锅,给这个Builder放进去米和水,经过Builder的Build后,我们就可以取出香喷喷的米饭了。 C#中有一个类叫StringBuilder,输入必要的信息后,就可以取出对应的String。其使用方法如下: using System; using System.Text; class Exam { public static void Main...
    发表于 八月 01 2007, 10:48 下午 作者 admin with | with no comments
  • 代码的坏味道,重构,模式

    原文: 徐鸿翼blog 读完《重构——改善既有代码的设计》和《重构与模式》,有了些许感想,先与大家分享一下。当我们已经对设计模式倒背如流时,却往往发现在实际代码编写中有生搬硬套的感觉。设计模式是前人经验的总结,直接拿来用合不合适呢?这让我想起了大学一位老师告诉我们的一条学习的道路“知识,理论,智慧”。设计模式是很一种优雅的“智慧”,但对于我们初学者来说还仅仅是留存于文字的“知识”。把“知识”融合到自己的开发中,在不断探索和总结中形成自己“理论”,再应用到实际中,那么这才是是真正属于我们自己的“智慧...
    发表于 六月 29 2007, 12:48 上午 作者 admin with | with no comments
7798联盟网络(2006-2009)豫ICP备05005258号
精品编程文章,投资圣经,美女相册尽在7798互动社区