全国最大在线学习互动平台

  各地分站:上海  北京  天津  重庆  广东  浙江  江苏  山东  湖南  更多 设为首页 | 收藏本站 | 用户注册 | 查看全部考试

在线模考

学习博客

返回首页

 
输入关键字:
热门推荐: 考试全程通软件  网上课程 二手复习资料  打折图书
     
 

经验交流:关于软件设计的一点心得体会-软件水平考试-

 
 

07-10-16 23:15:31    学人教育社区    加为收藏加入收藏夹    推荐给好友发送给好友

 
 
 
 

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

  一、软件设计理论的层次

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

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

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

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

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

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

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

  二、关于耦合

  1、耦合的粒度

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

  2、解耦的原理

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

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

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

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

  事实上,各种设计模式的基本思想也就是这样。创建型模式是为了解除创建对象时产生的耦合,实际上是解除对类称名的依赖,而结构型和行为型是为了解除对象属性或方法的直接调用。不管什么设计模式,都是将对具体实现类的访问提升为对接口、基类或用于协调的控制类的访问。

  三、关于接口

  这一节更具体,谈一谈接口,因为使用接口是软件设计的重要手段,但已经不属于“道”了~

  1、接口与继承

  接口描述的是对象某一个方面行为特征。使用接口与使用继承关系各有优缺点,使用子类继承可以继承父类的功能,体现了重用的精神。而接品更加灵活,因为它解除了子类与父类之间的高度耦合,它体现在灵活扩展的精神。

  2、接口与纯虚类

  理论上接口可以由纯虚基类实现类似的功能,那为什么还我们不去掉接口的概念,而直接使用虚类呢?

  接口存在的理由就是它更加灵活,关系简单,易于理解。比如一个类可以实现十几个甚至几十个接口,但一般开发工具只支持单继承(由于多继承太容易导致混乱和冲突),如果要继承十几层,系统结构想必会无法理解了,我以为这是接口存在的最重要的原因。

  如果接口和虚类继承结合使用,可以产生强大的威力,这也是许多设计模式的“杀手锏”。

  以上算是总结一下自己的心得。肯定有不少片面之处,请各位指教。

 
 

 
 

上一篇:     下一篇:

 
     
 
[考试软件推荐] 更多软件
 

监理工程师考试全程通  
咨询工程师考试全程通
报关员考试全程通
  证券从业资格考试全程通  
  注册会计师考试全程通  
  国家司法考试全程通  
  质量专业资格考试全程通  
  会计中级职称考试全程通  
  报检员资格考试全程通  
  执业医师考试全程通  
[网上课程推荐] 更多课程
 

英语四级考试网上辅导  
英语六级考试网上辅导
英语口语网上课程
  公务员考试权威网上辅导课程  
  国家司法考试网上辅导课程  
  企业法律顾问网上辅导课程  
  证券从业资格考试网上辅导课程  
  执业药师考试网上辅导课程  
  执业医师考试网上辅导课程  
  卫生资格考试网上辅导课程  
  注册会计师考试网上辅导课程  
  注册税务师考试网上辅导课程  
  资产评估师考试网上辅导课程  
  监理工程师考试网上辅导课程  
  一级建造师考试网上辅导课程  
  造价工程师考试网上辅导课程  
  咨询工程师考试网上辅导课程  
  安全工程师考试网上辅导课程  
  房地产经纪人考试网上辅导课程  
  房地产估价师考试网上辅导课程  
  城市规划师考试网上辅导课程  
[相关新闻]

 

关于我们服务内容付款方式 订购方式配送方式服务保证联系我们广告投放合作推广网站声明友情链接问题咨询
Copyright @ 2007-2010 上海天柏信息科技有限公司 All Rights Reserved.
地址:上海市浦东新区浙桥路289号建银大厦A座2107室 邮编:200126
联系电话:021-50252164,51330678 传真:021-50252164-804
沪ICP备08003022号