首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计模式GRASP和GoF是怎样解决耦合的有关问题

2012-11-06 
设计模式GRASP和GoF是怎样解决耦合的问题? 现在,我们再换一个角度,从整个软件开发过程来分析GRASP和GoF。按

设计模式GRASP和GoF是怎样解决耦合的问题
?

现在,我们再换一个角度,从整个软件开发过程来分析GRASP和GoF。按照RUP的设计流程,首先当然是设计用例模型和领域模型,然后就进入分析模型和设计模型阶段。但是非常神奇的是,分析模型和设计模型既非常相似,又没有一个明显的界限来区分哪些是分析模型,哪些是设计模型。按照我的理解,分析模型是从不包含任何技术的,纯业务的角度开始对象分析的。不论是Java的项目、C++的项目还是Delphi的项目,不论是B/S的结构还是C/S的结构,分析模型的开始都是一样的。从分析模型的一开始,就是运用GRASP一步一步的进行对象分析和设计的。通过这样的设计,对应于现实世界的一个一个对象被设计出来,然后赋予它们职责和功能,分配它们属性和方法,建立起它们相互之间的联系与协作。分析完这些以后,它们的各个具体的属性和方法就需要开始实现,这时技术的东西开始介入,我们开始考虑把一些具体的实现抽象为接口和抽象类,以适应今后的需求变化。这时候,GoF的一些设计模式开始广泛运用,纯虚对象开始一个一个出现。把具体的实现抽象为接口和抽象类,以适应今后的需求变化,是GoF一个非常重要的设计原则,GoF中的许多设计模式都是由此而生的。分析模型和设计模型的界线也许就是分析模型还仅仅只是分析阶段,而设计模型已经进入到了软件开发阶段,但这样的界线是模糊的,并没有一个绝对的时间点。

最后,一个很有意思的问题是,GRASP的作用大还是GoF的作用大?做分析的朋友可能说GRASP的作用大,因为所有问题越是在项目开发的早期解决,越是给项目带来的代价越小;做设计的朋友可能会说GoF的作用大,因为GRASP只是在对象分析的初期运用,而GoF的运用贯穿整个软件设计的始末,作用时间更长。我认为这个问题不好回答,它们各司其职,我们只有配合使用它们才能有效地提高我们的设计水平。 1 楼 Uranus 2007-05-14   看懂你的意思了,设计与实现的关系,我在好好想想。 2 楼 dovecat 2007-05-14   ...呵呵~~挑明了说吧:
GRASP运用于理解真实环境和概念上的设计,
GOF就是代码和实现的设计.
上下都会有影响.
两者之见就是鸿沟 3 楼 fangang 2007-05-15   GRASP更多运用于系统分析
GoF更多运用于设计开发 4 楼 lwqenter 2012-04-26   楼主,写写GOF吧,关系到实现的设计,很重要啊 5 楼 lwqenter 2012-04-26   设计模式文章里暂时缺了这方面的详细介绍啊,露一手,呵 6 楼 fangang 2012-04-26   恩,计划中的,我会写几个常用的设计模式,会提出一些你没有想到过的idea,一个一个来吧 7 楼 lwqenter 2012-04-26   fangang 写道恩,计划中的,我会写几个常用的设计模式,会提出一些你没有想到过的idea,一个一个来吧

工厂和策略,单例只知这几个,期待楼主意外的精彩的idea,呵

热点排行