`
lgstarzkhl
  • 浏览: 330646 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

net模式(一)(转)

    博客分类:
  • net
阅读更多
设计模式

设计模式是规则吗?

地上本没有路,走得人多了也就成了路。设计模式如同此理,它是经验的传承,并非体系;是被前人发现,经过总结形成了一套某一类问题的一般性解决方案,而不是被设计出来的定性规则;它不像算法那样可以照搬照用。

设计模式是架构吗?

架构和模式应该是一个属于相互涵盖的过程,但是总体来说架构更加关注的是所谓的High-Level Design,而模式关注的重点在于通过经验提取的“准则或指导方案”在设计中的应用,因此在不同层面考虑问题的时候就形成了不同问题域上的模式。模式的目标是,把共通问题中的不变部分和变化部分分离出来。不变的部分,就构成了模式,因此,模式是一个经验提取的“准则”,并且在一次一次的实践中得到验证,在不同的层次有不同的模式,小到语言实现,大到架构。在不同的层面上,模式提供不同层面的指导。

设计模式,软件的永恒之道?

这个问题没有答案,有的只是讨论,看一下一位前辈结合建筑学得出的几点心得吧:

和建筑结构一样,软件中亦有诸多的“内力”。和建筑设计一样,软件设计也应该努力疏解系统中的内力,使系统趋于稳定、有生气。一切的软件设计都应该由此出发。

任何系统都需要有变化,任何系统都会走向死亡。作为设计者,应该拥抱变化、利用变化,而不是逃避变化。

好的软件只能“产生”而不能“创造”,我们所能做的只是用一个相对好的过程,尽量使软件朝向好的方向发展。

需要设计模式吗?

答案是肯定的,但你需要确定的是模式的应用是否过度?我得承认,世界上有很多天才的程序员,他可以在一段代码中包含6 种设计模式,也可以不用模式而把设计做得很好。但我们的目标是追求有效的设计,而设计模式可以为这个目标提供某种参考模型、设计方法。

我们不需要奉GOF的设计模式为圭臬,但合理的运用设计模式,才是正确的抉择。很多人看过GOF的《Design Patterns》,对这23 种模式也背得滚瓜烂熟。但重要的不是你熟记了多少个模式的名称,关键还在于付诸实践的运用。为了有效地设计,而去熟悉某种模式所花费的代价是值得的,因为很快你会在设计中发现这种模式真的很好,很多时候它令得你的设计更加简单了。

其实在软件设计人员中,唾弃设计模式的可能很少,盲目夸大设计模式功用的反而更多。言必谈“模式”,并不能使你成为优秀的架构师。真正出色的设计师,懂得判断运用模式的时机。还有一个问题是,很多才踏入软件设计领域的人员,往往对设计模式很困惑。对于他们来说,由于没有项目的实际经验,OO 的思想也还未曾建立,设计模式未免过于高深了。其实,即使是非常有经验的程序员,也不敢夸口对各种模式都能合理应用。[--摘自wayfare的设计之道]


http://www.cnblogs.com/Terrylee/archive/2005/12/09/293509.html

分享到:
评论

相关推荐

    联想锋行模式转换软件(win7)

    联想锋行模式转换软件是专为联想锋行系列电脑设计的一款实用工具,主要功能在于帮助用户在不同的系统环境下,如Windows 7,实现电脑工作模式的切换。这种模式转换功能通常涉及性能优化、电源管理以及特定场景下的...

    STM8单次转换模式AD和带缓存连续模式嵌套中断AD例程

    这种模式通常用于那些只需要偶尔进行一次AD转换的场景。实现步骤如下: 1. **初始化ADC**:配置ADC的时钟源、采样时间、参考电压等参数。 2. **选择通道**:设置要转换的输入通道。 3. **启动转换**:通过软件触发...

    CF卡转模式(本地)

    【标题】:“CF卡转模式(本地)”是一个与计算机硬件和数据存储相关的技术主题,主要涉及将CompactFlash(CF)卡转换至不同工作模式的过程。这个过程可能涉及到修改CF卡的固件或配置,以便在不同的设备上更好地运行...

    PDF转换器各种格式,两种模式,流畅和分块

    在这种模式下,用户可以一次性处理整个PDF文档,无需担心文件大小或数量的问题。一体模式特别适合那些需要快速、不间断转换的用户,例如在紧急情况下需要快速整理大量的PDF资料。此模式下的转换过程通常更为直观和...

    经典23个设计模式【转】

    22. **观察者模式**:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。C#中的`INotifyPropertyChanged`接口和事件是观察者模式的实现。 23. **中介者...

    java 设计模式 一个txt 一个pdf

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决问题的经验总结,可以提高代码的可重用性、可维护性和灵活性。本资源包含一个PDF文档和一个TXT文本文件,两者都详细介绍了Java设计模式的基本概念和...

    Delphi模式编程第一分卷

    第一部分 模式编程原理 第1章 模式概述 1.1 模式的概念 1.1.1 什么是模式 1.1.2 模式可以做什么 1.2 模式与架构 1.2.1 什么是架构 1.2.2 架构和模式的关系 1.3 从面向对象编程到模式编程 1.3.1 关于封装的...

    CAN/CANFD转串口四种转换模式的说明.pdf

    CANFDRS-100IE和CANFDUM-100A 转换器是一款智能协议转换器,支持串口与CAN(CANFD)之间转换。使用前需要先设置好要转换的CAN类型是普通CAN还是CANFD。 转换器给出了四种转换模式供选择,包括:透明转换、透明带标识...

    读取Tiff文件中CMYK色彩模式存储的图像数据,并转换为RGB色彩模式

    TIFF(Tagged Image File Format)是一种灵活的位图图像格式,广泛用于印刷和扫描领域,因为它支持多种色彩模式,包括CMYK。CMYK色彩模式是基于印刷工艺的,由青(Cyan)、洋红(Magenta)、黄(Yellow)和黑(Black)四种...

    .Net设计模式大全

    《.Net设计模式大全》是一本深入探讨.Net平台下软件设计模式的著作。设计模式是软件开发中的宝贵经验总结,是解决常见问题的最佳实践。在.Net框架中,设计模式不仅有助于提升代码的可读性、可维护性和复用性,还能...

    x86汇编语言 从实模式到保护模式.zip

    《x86汇编语言 从实模式到保护模式》是一部深入探讨x86架构处理器在不同模式下工作原理及编程技术的专著。本文将详细介绍x86汇编语言的基础知识,实模式与保护模式的转换过程,以及这两者之间的关键差异。 一、x86...

    GoF23种经典模式+简单工厂模式讲解还有一篇心得

    18. **观察者模式**:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。 19. **状态模式**:允许一个对象在其内部状态改变时改变它的行为,对象看起来...

    设计模式设计题java.docx

    观察者模式是一种行为型模式,用于定义对象间的一种一对多的依赖关系,使得当一个对象改变时,其他依赖于它的对象都会收到通知。命令模式是一种行为型模式,用于将请求封装成对象,从而使得用户可以使用不同的请求。...

    您的设计模式.pdf。

    本书《您的设计模式》对设计模式进行了详细的讲解,涵盖了策略模式、代理模式、单例模式、多例模式、工厂方法模式、抽象工厂模式、门面模式、适配器模式、模板方法模式、建造者模式、桥梁模式、命令模式、装饰模式、...

    设计模式之适配器模式与外观模式demo

    在软件设计领域,设计模式是一种经过时间和实践验证的解决方案,用于解决常见的编程问题。适配器模式和外观模式是两种非常重要的设计模式,它们在实际项目中有着广泛的应用。本资源提供了一个关于这两种模式的实战...

    <x86汇编语言 从实模式到保护模式>配套源码及工具

    《x86汇编语言 从实模式到保护模式》是一本深入探讨x86架构汇编编程的经典著作,它涵盖了计算机系统从启动到运行的底层机制,特别是从实模式过渡到保护模式的过程。配套源码及工具为读者提供了实践和理解书中理论的...

    C#面向对象设计模式纵横谈(25):设计模式总结

    在C#编程中,面向对象的设计模式是一种组织代码和解决常见问题的有效方法。设计模式是对在软件设计中经常出现的某类问题的通用解决方案的描述,它是在特定上下文中最佳实践的结果。本篇文章将对一系列重要的C#面向...

    多模式带转向交通灯PROTUES仿真及程序

    在本项目中,我们主要探讨的是一个基于PROTEUS的多模式带转向交通灯的仿真设计,这是一项涉及硬件模拟和软件编程的综合任务。首先,我们要了解PROTEUS这个强大的电子电路仿真软件,它允许用户在虚拟环境中设计、测试...

    设计模式概述及23种设计模式

    2. 外观模式:为子系统中的一组接口提供一个一致的界面,Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 3. 适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本...

    简单工厂模式、代理模式、策略模式如此相似

    简单工厂模式是一种创建型设计模式,它提供一个公共接口用于创建相关或依赖对象的家族,而无需指定具体类。这种模式通常用于当系统中存在多个具有相同接口的对象,但创建这些对象的逻辑较为复杂时。例如,数据库连接...

Global site tag (gtag.js) - Google Analytics