设计模式-对软件设计中耦合程度的思考

原创 2017年01月18日 21:46:16
  软件耦合度高的模式,一般对象数少,可能容易理·32解写;耦合度低的模式,对象数相对多。拿计算器的业务来讲:

耦合度较高的版本:

private static double getResult(double n1, double n2, string operation)
{
  double double rtnResult;
  switch(operation)
  {
    case "+":
    ...
    break;
    case "-"
    ...
    break;
    case "*"
    ...
    break;
    case "/"
    ...
    break;   
  }
  return rtnResult;
}

   计算器的加减乘除操作通过一个函数,直接就实现了主要的业务逻辑。这种方式的优点是没有形成新的业务对象;缺点是扩展性差、后期不易维护等。显然加减乘除是主要的业务操作,所以需要改造为4个业务对象,每个业务对象封装自己的操作,以及一个类能管理这4个模块。并且,这4个模块功能是并列的,这样可以套用“工厂模式”来实现。

  UML如下所示:

这里写图片描述

   类图很简单,4个业务类分别实现接口,MangeOper类引用4个业务对象,确定接口的实现类,UI客户端引用这个ManageOper类,告诉它用户选择了加减乘除中的哪个操作。

  在计算器这个例子中,以上设计模式是好的,主要业务对象耦合度较低,以后想要扩展其他操作,只需要写出很多个新的业务类即可。但是,是不是所有的设计都要耦合度尽可能的低?

  这是一个好问题!

  问题无绝对! 不是说松耦合就一定好,紧耦合就一定不好。如果构成某个软件的模块地位非常低,那么就要考虑是不是要设计的耦合度很低,灵活性很强了?!

  因为我完全不想花太多精力去编写它,并且以后它几乎不怎么改变,这样的话,采取紧耦合也未尝不是一种好的设计方法;换句话说,如果这是公司的一个重点业务,那么,需要写的耦合度小写,好好构思相应的设计模式来。

  设计模式跟着业务和未来的业务走!

版权声明:本文为博主原创文章,欢迎转载,请注明 http://blog.csdn.net/daigualu

从研究的角度来思考软件设计模式——研究方向

近期在做一些关于软件设计模式的研究工作,通过广泛的收集与阅读,细致的分析与整理,现将设计模式的几个主要研究方向罗列如下: (1) 设计模式的可视化研究(Visualization)       如何在...

软件设计之——“高内聚低耦合”

耦合度一、什么是耦合度软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分摸块的一个准则就是高内聚低耦合。 耦合度(Coupling)是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复...

软件设计模式(概念理解学习)

概述 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设...

软件设计模式概论

软件设计遵循的设计原则有: 1.高内聚,低耦合。 2.面向对象编程。 3.多用组合少用继承。 4.“开-闭”原则。   设计模式的概念: 设计模式就是一套被反复使用、多数人知晓的、经过分...

软件设计模式

简介 设计模式(英语 design pattern)是对面向对象设计中反复出现的问题的解决方案。这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。这个术语的含...

平常心谈软件设计模式(二)

小弟的平常心谈软件设计模式(一)中讲解了原型模式,有位大侠给我建议很好,说叫我要一个一个将设计模式具体的运用场景,小弟打算从(三)中开始摆出实际例子来说说设计模式到底怎么去用。我之所以在这一篇中还是不...

什么是软件设计模式?

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于...

探索软件设计模式

软件设计模式来源于Christopher Alexander的建筑学模式和对象运动。根据Alexander的观点,模式就是一个对于特定的系统的通用解决方案本身的重复。对象运动关注于将现实世界模化为软件...

平常心谈软件设计模式(一)

小弟在以前的文章(平台整合系列)中提到了设计模式,设计模式到底是个什么东西,有什么用途呢?小弟打算在该系列中理论联系实际介绍下设计模式的前世今生,用途意义。小弟在这里主要讲解在C++开发中遇见的或者运...

《软件设计模式读后总结》

总述 软件设计模式算是软件从业人员的教科书级参考书籍,笔者在上大学的时候大致的看过一遍(大学~你懂的~),鉴于笔者水平有限,有很多不明白理解的地方。正好今年毕业以后有幸在一家公司供职并开始从事软件产品...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式-对软件设计中耦合程度的思考
举报原因:
原因补充:

(最多只允许输入30个字)