Design Pattern
文章平均质量分 85
metasearch
这个作者很懒,什么都没留下…
展开
-
面向对象讲解(2)
概念讲解泛化(Generalization)图表1 泛化在上图中,空心的三角表示继承关系(类继承),在UML的术语中,这种关系被称为泛化(Generalization)。Person(人)是基类,Teacher(教师)、Student(学生)、Guest(来宾)是子类。若在逻辑上B是A的“一种”,并且A的所有功能和属性对B而言都有意义,则允许B继承A的功能和属性。原创 2008-03-05 10:10:00 · 364 阅读 · 0 评论 -
Inversion of Control and Dependency Injection with Castle Windsor Container - Part I
Inversion of Control and Dependency Injection with Castle Windsor Container - Part IPublished: 24 Jul 2007By: Simone BusoliDownload Sample CodeInversion of Control (IoC) and Dependency Injecti转载 2012-03-28 16:45:14 · 720 阅读 · 0 评论 -
Difference IoC container and Factory pattern
1 I would suggest to keep the concepts plain and simple. Dependency Injection is more of a architectural pattern for loosely coupling software components. Factory pattern is just one way to separate t原创 2012-03-30 15:43:18 · 607 阅读 · 0 评论 -
Understanding the DIP, DI, IoC theory
Dependency Inversion Principle. Means you should always only rely on interfaces and not on their implementations. If your class depends on any other class, that's bad, because it depends on that secon转载 2012-03-30 13:42:30 · 421 阅读 · 0 评论 -
Object Oriented Design Pricinple
What is object oriented design? What is it all about? What are it's benefits? What are it's costs? It may seem silly to ask these questions in a day and age when virtually every software developer is转载 2012-03-30 17:27:21 · 645 阅读 · 0 评论 -
IOC-Inversion of Control, Dependency Injection
-What is? Inversion of Control: 直观的讲,就是反转控制. 这是什么意思呢?什么是控制?反转了谁的控制? 为什么要反转呢?下面来一一说一下. 1) Control: 这里指的是程序控制的流程。比如: classA::do(int a){ //do something if (a==1) { B.do()原创 2012-03-28 16:33:23 · 553 阅读 · 0 评论 -
Inversion of Control – An Introduction with Examples in .NET
Inversion of Control – An Introduction with Examples in .NETPosted March 29 2010 in Software architecture . 26 comments.Lately I’ve been giving a couple of presentations on the subject of au转载 2012-03-30 16:52:24 · 605 阅读 · 0 评论 -
设计模式(Design pattern)概述
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 GoF的“设计模式”是第一次将设计模式提升到理论高度,并将之规转载 2012-05-25 11:20:41 · 1036 阅读 · 0 评论 -
从实践中学习OOD
以下资料和链接:From StackOverflow:11 down voteacceptedLook at my answers to the below two postsWorkbook on object oriented design (object model domain, system sequence dia原创 2012-06-20 17:45:37 · 567 阅读 · 0 评论 -
关于 UML 模型(Visio的说明)
Microsoft Office Visio“UML 模型图”模板为创建复杂软件系统的面向对象的模型 (模型:建模系统的一种抽象表示,它从特定的视角并在某一抽象级别上指定建模系统。)提供全面的支持。1.用例图在开发项目的早期阶段,使用用例图 (用例:在用例图中,当主角使用系统来完成某一进程时所发生的一组事件的表示方式。通常,用例是相当大的进程,而不是单个步骤或事务。)来描述实际转载 2012-06-24 20:51:29 · 759 阅读 · 0 评论 -
关于 UML 模型(Visio的说明)
Microsoft Office Visio“UML 模型图”模板为创建复杂软件系统的面向对象的模型 (模型:建模系统的一种抽象表示,它从特定的视角并在某一抽象级别上指定建模系统。)提供全面的支持。1.用例图在开发项目的早期阶段,使用用例图 (用例:在用例图中,当主角使用系统来完成某一进程时所发生的一组事件的表示方式。通常,用例是相当大的进程,而不是单个步骤或事务。)来描述实际转载 2012-06-24 20:50:36 · 658 阅读 · 0 评论 -
OO分析与设计的区别
《面向对象设计UML实践》: “分析模型不同于设计模型,它不涉及要开发系统的任何特性,而是力求捕捉“现实世界”中的业务的某些方面和特性。 通常,分析模型描述应用中处理的数据和处理数据的各种过程。在传统的分析方法中,这些模型用图表示,如逻辑数据模型和数据流图。值得注意的是,使用分析模型描述业务过程,早于并且独立于这种过程的计算机话,例如,组织结构图和说明特定生产过程的示意图在商业和工转载 2012-06-24 22:56:43 · 749 阅读 · 0 评论 -
设计模式面试
这些问题不仅涉及到设计模式也与软件设计。这些问题需要一定的思想和经验的回答。在大多数情况下,面试官不是寻找绝对的答案,但找你的方法,你如何看待一个问题,你可以想想,你能把那些不告诉你。这是经验来拍摄,什么东西是你考虑同时解决问题等综合这些设计问题展开思考过程。面试官问你一些时间写代码也因此做准备。你可以在这些问题,如果你知道的概念,例子和应用的编程和设计技巧。1。举一个例子,你喜欢抽象类,转载 2012-07-19 17:36:30 · 1480 阅读 · 0 评论 -
用UML设计Java应用程序
用UML设计Java应用程序(来源:转载自umlchina,Hans-Erik Erikkson, Magnus Penker著,刘忠(caulzhong@sina.com) 译 ) 本文的案例学习提供了一个例子,说明如何将UML用在现实中。一个处理图书馆借阅和预定图书和杂志的应用程序,可以大到足够检验UML解决现实问题能力的程度。但是如果太大的话,则不适合在杂志上发表。在分析模型中,转载 2008-09-23 15:52:00 · 1097 阅读 · 0 评论 -
利用Rational Rose进行C++代码的逆向工程介绍
利用Rational Rose进行C++代码的逆向工程介绍 Rational Rose是利用UML(统一建模语言)进行分析和设计面向对象软件系统的强大的可视化工具,可以进行项目需求分析、结构规划和生成框架代码,还可以支持从现有系统逆向转出工程代码,生成Rose模型的功能。 2004年10月,IBM推出了支持最新的UML2.0的可视化建模工具 Rational Sof原创 2008-09-09 10:57:00 · 1359 阅读 · 1 评论 -
Object oriented analysis and design using UML
1. IntroductionYou’re proficient in C++, Java or another OO language, you’re designing class hierarchies, using inheritance, and manipulating complex pointer relationships to store the necessary lin原创 2008-06-04 18:33:00 · 2666 阅读 · 0 评论 -
面向对象的三个基本特征(1)
面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情原创 2008-03-05 10:10:00 · 500 阅读 · 0 评论 -
面向对象的几个特征
1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原原创 2008-03-05 10:09:00 · 476 阅读 · 0 评论 -
面向对象讲解(2)
概念讲解泛化(Generalization)图表1 泛化在上图中,空心的三角表示继承关系(类继承),在UML的术语中,这种关系被称为泛化(Generalization)。Person(人)是基类,Teacher(教师)、Student(学生)、Guest(来宾)是子类。若在逻辑上B是A的“一种”,并且A的所有功能和属性对B而言都有意义,则允许B继承A的功能和属性。原创 2008-03-05 10:10:00 · 314 阅读 · 0 评论 -
观察者(Observer)模式
一、 观察者(Observer)模式观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。原创 2008-04-08 17:13:00 · 886 阅读 · 0 评论 -
Decorator设计模式 C#
无废话C#设计模式之十三:Decorator开发者在线 Builder.com.cn 更新时间:2007-12-06作者:LoveCherry 来源:博客园本文关键词: C# 设计模式 Decorator 本系列文章将向大家介绍一下C#的设计模式,此为第十三篇文章,相信对大家会有所帮助的。废话不多说,继续来看。 意图 动态地给一个对象添加一些转载 2008-04-30 11:51:00 · 846 阅读 · 1 评论 -
Decorator设计模式 Java
Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee.这两种实体在Decorator模式中是必须的. Decorator定义: 动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活. 为什么使用Decorator转载 2008-04-30 11:52:00 · 718 阅读 · 0 评论 -
好的软件人员必读的60本书
目 录 自序 1 前言 7 一、 科学哲学和管理哲学 13 【1】 “程序开发心理学”(The Psychology of Computer Programming : Silver Anniversary Edition) 13 【2】 “系统化思维导论”(An Introduction to Systems Thinking, Silver Anniversary Edition) 14转载 2008-04-23 22:29:00 · 1591 阅读 · 3 评论 -
25中设计模式UML表示形式
1.抽象工厂(Abstract Factory)模式意图:为特定的客户(或情况)提供特定系列的对象。2.类的适配器(Adapter)模式意图:将一个类的接口转换成客户希望的另外一个接口。3.对象的适配器(Adapter)模式意图:将一个类的接口转换成客户希望的另外一个接口。4.桥梁(Bridge)/柄体(Handle and Body)模式 意图:将抽象部分与它的实现部分分离,使它们都原创 2008-04-24 22:03:00 · 2098 阅读 · 1 评论 -
The Bridge Pattern C++实现
Summary: One Rule, One placeA very important rule to follow is there is only one place to have where you implement a rule.当需要改变一个规则的时候,只有在一个地方进行修改,才能尽可能减少出错的可能性。当抽象类和它的实现都有可能变化的时候,我们将这实现分离出来,即原创 2008-04-26 15:54:00 · 975 阅读 · 0 评论 -
UML中关联(Association)和依赖(Dependency)的区别
(以下转载自UMLCHINA论坛) 在UMLCHINA精华区,看到了一些关联和依赖的讨论,似乎越讲越糊涂.我想谈一点自己的看法: 1、在《UML参考手册》第37页中,指出“关联和泛化都是依赖关系,但是它们有更特别的语义,故它们有自己的名字和详细的语义。我们通常用依赖这个词来指其他的关系。” 2、在《UML参考手册》30页中,定义了关联为“关联描述了系统中对象或实例之间原创 2008-04-27 13:37:00 · 6846 阅读 · 2 评论 -
从实例中学习设计模式
前言 设计模式一度被捧为程序员的圣经。但有不少人对设计模式只知其形不知其实,认为设计模式是一种很神秘很强大的咒语,似乎只要对着一堆乱糟糟的代码说一声“设计模式,急急如律令!”那代码就会突然变得很好很强大,一切毛病都消失无踪。 其实设计模式并不是这样的。设计模式是一些编程惯用法的总结和提炼,这些惯用法在各种优秀代码中被普遍的使用,无论你学过还是没学过设计模式,很多思想和做法你都在有意无意的转载 2008-05-06 11:44:00 · 2052 阅读 · 0 评论 -
设计已死?
对很多粗略接触到 Extreme Programming 的人来说,XP 似乎 宣告了软件设计的死刑。不只很多的设计被嘲笑为 "Big Up Front Design"[译注1],连很多技术像UML、富有弹性的程序架构 (framework),甚至连模式 (pattern) 都不受重视,或是近似忽略了。事实上,XP内含很多设计理念,但是它与现有的软件流程有着不同的运作方式。XP藉由多种实务技巧 (转载 2008-05-09 10:48:00 · 1013 阅读 · 0 评论 -
面向对象编程的优缺点
如果你是程序员,在面试的时候90%的项目leader都会问你"你是怎么认识 面向对象编程 面向对象编程的优缺点能否说说"先看看 别人是怎么说的======================别人 oop的理解================================面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计原创 2008-08-04 08:35:00 · 6019 阅读 · 1 评论 -
非關語言: 設計模式
From Gossip@caterpillar非關語言: 設計模式程式設計是思維具體化的一種方式,是思考如何解決問題的過程,設計模式是在解 決問題的過程中,一些良好思路的經驗集成,最早講設計模式,人們總會提到 Gof 的著作,它最早將經典的 23 種模式集合在一起說明,對後期學習程式設計,尤其是對從事物件導向程式設計的人們起了莫大的影響。後來設計模式一詞被廣泛的應用到各種經驗集成转载 2012-07-19 14:38:18 · 905 阅读 · 0 评论