
设计模式
Neo_Wu
这个作者很懒,什么都没留下…
展开
-
设计模式C++实现(1)——工厂模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。 工厂模式属于创转载 2013-07-12 23:10:10 · 1030 阅读 · 0 评论 -
探究观察者设计模式
探究观察者设计模式Doug Purdy,Microsoft CorporationJeffrey Richter,Wintellect2002 年 1 月摘要:本文讨论在 Microsoft .NET 框架中使用的设计模式。 开发人员或架构师可以在开发项目中使用设计模式这种非常强大的工具,设计模式可确保用已知 和公认的解决方案处理常见问题,更迅速地开发正确的转载 2013-12-11 19:20:44 · 899 阅读 · 0 评论 -
使用设计模式改善程序结构(一)
设计模式是对特定问题经过无数次经验总结后提出的能够解决它的优雅的方案。但是,如果想要真正使设计模式发挥最大作用,仅仅知道设计模式是什么,以及它是如何实现的是很不够的,因为那样就不能使你对于设计模式有真正的理解,也就不能够在自己的设计中正确、恰当的使用设计模式。本文试图从另一个角度(设计模式的意图、动机)来看待设计模式,通过这种新的思路,设计模式会变得非常贴近你的设计过程,并且能够指导、简化你的设计转载 2013-12-11 22:36:28 · 617 阅读 · 0 评论 -
使用设计模式改善程序结构(二)
在本系列的 第一篇文章中,描述了如何通过设计模式来指导我们的程序重构过程,并且着重介绍了设计模式意图、动机的重要性。在本文中我们将继续上篇文章进行讨论,这次主要着重于设计模式的适用性,对于设计模式适用性的掌握有助于从另一个不同的方面来判断一个设计模式是否真正适用于我们的实际问题,从而做出明智的选择。0 评论:孙鸣 (dhui@263.net), 软件工程师邓辉,转载 2013-12-11 23:23:21 · 772 阅读 · 0 评论 -
使用设计模式改善程序结构(三)
设计模式在某种程度上确实能够改善我们的程序结构,使设计具有更好的弹性。也正是由于这个原因,会导致我们可能过度的使用它。程序结构具有过度的、不必要的灵活性和程序结构没有灵活性一样都是有害的。本文将分析过度的灵活性可能造成的危害,并且结合一些实例来阐述使用设计模式改善程序结构应遵循的原则。0 评论:邓 辉, 软件工程师孙鸣 (dhui@263.net), 软件工转载 2013-12-11 23:36:00 · 684 阅读 · 0 评论 -
函数式思维: 函数设计模式,第 1 部分
模式在函数世界中的表现方式与人们的普遍看法相反,设计模式存在于函数式编程中,不过它们有时在外观和行为上不同于其面向对象的模式。在本期的 函数式思维 中,Neal Ford 探究了模式在函数范式中的表现方式,展示了各种解决方案的不同之处。查看本系列更多内容 | 0 评论:Neal Ford, 软件架构师, ThoughtWorks Inc.转载 2013-12-12 09:45:07 · 819 阅读 · 0 评论 -
MFC框架中的设计模式分析
摘要:分析MFC的视图-文档(View-Document)框架中使用到的设计模式,阐述了这些设计模式的原理和结构,并详细介绍了各种设计模式在MFC中的具体实现方法。关键字:MFC 设计模式 视图-文档框架中图分类号:TP311An Analysis of Design Patterns in MFC FrameworkAbstract: In this pape转载 2013-12-11 18:49:31 · 1181 阅读 · 0 评论 -
函数式思维: 函数设计模式,第 2 部分
相同的问题,不同的范式设计模式仅表现为一种解决问题的方法,然而,如果您主要使用的是面向对象语言,那么您可能会想到 设计模式。在本期的函数式思维 中,Neal Ford 将阐述使用传统设计模式、元编程和函数式组合处理一个常见问题(接口不兼容)的各个解决方案。每种方法都各有利弊,但是考虑解决方案的设计可以帮助您以一种新的方式来看待问题。查看本系列更多内容 | 0 评论:转载 2013-12-12 10:27:48 · 868 阅读 · 0 评论 -
函数式思维: 函数设计模式,第 3 部分
解释器模式和扩展语言Gang of Four 的解释器设计模式 (Interpreter design pattern) 鼓励在一个语言的基础上构建一个新的语言来实现扩展。大多数函数式语言都能够让您以多种方式(如操作符重载和模式匹配)对语言进行扩展。尽管 Java™ 不支持这些技术,下一代 JVM 语言均支持这些技术,但其具体实现细则有所不同。在本文中,Neal Ford 将探转载 2013-12-12 12:51:31 · 740 阅读 · 0 评论 -
基于面向对象(OO)的数据库设计模式探讨 第 1 部分
采用 InfoSphere Data Architect 进行对象分层建模的方法肖建国, 产品经理, 浪潮软件简介: 面向对象(OO)和三范式(3NF)都是成熟的设计方法,本文基于面向对象设计思想和三范式数据库设计方法,提出一种实体对象分层建模的思路,其目的是设计简单明了、标准化的数据库结构,同时能够更好的支持模型驱动模型(MDA)的代码自动生成和代码复用,减少转载 2013-12-12 17:16:59 · 1340 阅读 · 0 评论 -
基于面向对象(OO)的数据库设计模式探讨,第 2 部分
一种基于指标矩阵的数据建模的方法肖建国, 产品经理, 浪潮软件简介: 现在大型的管理系统有几千甚至上万张表,但几乎没有谁能搞清楚所有的数据结构,如何建立清晰明了的数据结构?如何让其他人对数据结构更加容易理解,本文以 “基于面向对象(OO)的数据库设计模式探讨”为基础进一步对汇总表进行分析,通过建立指标矩阵模型,“模式”化数据库建模,建立清晰可读的汇总数据模型。转载 2013-12-12 17:57:24 · 1099 阅读 · 0 评论 -
C#中的异步调用及异步设计模式(二)——基于 IAsyncResult 的异步设计模式
三、基于 IAsyncResult 的异步设计模式(设计层面)IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来实现原同步方法的异步调用,如 FileStream 类提供了 BeginRead 和 EndRead 方法来从文件异步读取字节,它们是 Read 方法的异步版本 Begin 方法转载 2013-12-10 19:14:35 · 610 阅读 · 0 评论 -
C#中的异步调用及异步设计模式(一)
近期项目中使用了不少异步操作,关于“异步”做个总结。总结的内容大部分都来自于MSDN,还有一些自己的心得。关于“异步”的使用可分为:使用层面和类库设计层面,细分如下:一、使用异步方式调用同步方法(使用层面)。二、使用 IAsyncResult 调用异步方法(使用层面)。三、基于 IAsyncResult 的异步设计模式(设计层面)。四、基于事件的异步模式(设转载 2013-12-10 19:13:38 · 673 阅读 · 0 评论 -
C#中的异步调用及异步设计模式(三)——基于事件的异步模式
四、基于事件的异步模式(设计层面)基于事件的C#异步编程模式是比IAsyncResult模式更高级的一种异步编程模式,也被用在更多的场合。该异步模式具有以下优点:· “在后台”执行耗时任务(例如下载和数据库操作),但不会中断您的应用程序。· 同时执行多个操作,每个操作完成时都会接到通知(在通知中可以区分是完转载 2013-12-10 19:15:35 · 813 阅读 · 0 评论 -
设计模式C++实现(2)——策略模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍策略模式的实现。 策略模式是指定转载 2013-07-13 18:08:02 · 706 阅读 · 0 评论 -
设计模式C++实现(3)——适配器模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍适配器模式的实现。 D转载 2013-07-13 18:19:33 · 874 阅读 · 0 评论 -
设计模式C++实现(4)——单例模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍单例模式的实现。 单例的一转载 2013-07-13 21:36:07 · 739 阅读 · 0 评论 -
设计模式C++实现(5)——原型模式、模板方法模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍原型模式和模板方法模式的实现。首先介绍原型模转载 2013-07-14 18:44:57 · 776 阅读 · 0 评论 -
设计模式C++实现(6)——建造者模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍建造者模式的实现。 建造转载 2013-07-14 18:49:37 · 781 阅读 · 0 评论 -
设计模式C++实现(8)——代理模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍代理模式的实现。 [D转载 2013-07-14 19:07:51 · 720 阅读 · 0 评论 -
设计模式C++实现(9)——享元模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍享元模式的实现。 举个转载 2013-07-14 19:14:32 · 660 阅读 · 0 评论 -
设计模式C++实现(7)——外观模式、组合模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍外观模式和组合模式的实现。转载 2013-07-14 19:01:00 · 792 阅读 · 0 评论 -
如何减少代码中的分支语句
代码中往往存在很多的分支语句:判断+执行;大量的分支语句让代码看上去很丑陋,而且容易增加代码复杂度。所以我觉得减少代码的分支语句或者隐藏分支语句是一件很有必要的事情,能够让代码变得更加清晰易读。减少分支语句,在实际的编程中遇到了一种比较好的方式——Command模式减少分支语句。Command模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。转载 2013-11-16 18:46:40 · 1085 阅读 · 0 评论 -
.NET(C#) Internals: .NET Framework中已使用的设计模式
——适合有一定设计模式基础和.NET基础的人阅读。写在前面“设计模式”我一向是敬而远之的态度,不会去写这方面的文章,原因有二:第一,要想写好设计模式的文章太难,需要笔者丰富的经验;第二,没有深厚的功底写出的设计模式文章容易误导他人。自认没有深厚的功底,但我不会为了设计模式而设计模式。我想大部分人对设计模式的理解是不够深刻的,不然应用自如,特别是初学者!所有研究高质量的源码或框架是我转载 2013-11-27 23:06:42 · 1537 阅读 · 0 评论 -
SOA 的基本概念及设计原则浅议
SOA是英文词语"Service Oriented Architecture"的缩写,中文有多种翻译,如"面向服务的体系结构"、"以服务为中心的体系结构"和"面向服务的架构",其中"面向服务的架构"比较常见。SOA有很多定义,但基本上可以分... SOA是英文词语"Service Oriented Architecture"的缩写,中文有多种翻译,如"面向服务的体系结构"、"以服务为转载 2013-12-16 19:14:41 · 1293 阅读 · 0 评论