time 
设为首页】【收藏本站
当前位置: 主页 > 软件工程 > 分析与建模 > 经验交流:关于软件设计的一点心得体会

经验交流:关于软件设计的一点心得体会

时间:2009-12-01 20:27 点击:534次 字体:[ ]




    曾经看过一本书叫《道法自然》,内容略记得一二,但我最欣赏的是它的书名。软件设计没什么太神秘有东西,只要用心体会,其实一切都很自然。软件的设计之“道”,也不在于设计有多么的华丽、精巧,而在于其朴实、自然,最终达到“以无招胜有招”,进入一个全新的境界。

  一、软件设计理论的层次

  以我的拙见,软件设计领域中的各种概念,可以分为以下几个层次来进行理解:

  1、软件设计的目的:重用性、扩展性。

  这是最高的层次,是应对软件危机的需要。

  2、设计原则:低耦合、高聚合。

  各种软件设计的原则,如依赖倒置原则、单一职则原则、面向接口等,以及各种设计模式,其根本的目的其实只是为了降低耦合这么简单。因为只有低耦合才能更好的适应变化,更好的重用和扩展。

  3、实现方法:运用设计模式封装变化、降低耦合。

  设计模式只是用来“封装变化、降低耦合”的工具而已。它是面向对象设计时代的产物,其本质就是充分运用面向对象的三个特性,即:封装、继承和多态,进行灵活的组合运用。

  二、关于耦合

  1、耦合的粒度

  耦合无论如何也是不可避免的。当我们实现接口、继承父类的时候,就会不可避免的产生耦合。耦合是有不同粒度的,我们解耦到什么粒度为止,我认为应以模块的重用粒度为准。尽量解除重用模块或对象之间的耦合。而重用模块之内的耦合,应属于聚合的范畴,所以不要盲目的去解耦,否则就陷入了误区。

  2、解耦的原理

  怎样才能解耦呢,或者说为什么各种设计模式能达到解耦的目的呢?我觉得有以下几个思路:

  (1)将具体的东西抽象处理

  (2)将分散的东西集中处理

  而面向对象中的接口、继承正为我们提供了这样的一种机制。通过访问接口或基类或抽象类,而不是具体的实现类,从而与具体的实现类达到了解耦的目的。我们还可以设计一些控制类,像润滑剂一样,协调各实现类之间的访问,也可以达到耦的目的。

[1]  [2]  



本文地址 : http://www.fengfly.com/plus/view-158748-1.html
标签: 设计 软件 耦合 一点 目的 关于
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: