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

标签: 设计模式 简单工厂模式 耦合度
986人阅读 评论(3) 收藏 举报
分类:
  软件耦合度高的模式,一般对象数少,可能容易理·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/nengyu/article/details/421416351. 低耦合(Low Coupling)“低耦合”这个词相信大家已经耳熟能详,我们在看...
  • axi295309066
  • axi295309066
  • 2016-08-29 10:43:20
  • 2301

软件工程中的内聚与耦合

简单地说,对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。    有软硬件之间的...
  • weiqubo
  • weiqubo
  • 2012-07-27 15:14:42
  • 3753

软件工程中的耦合

简单地说,对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。 就是依赖性,相关...
  • aiwuhui03
  • aiwuhui03
  • 2014-01-08 10:04:56
  • 1152

【设计模式】外观模式降低系统耦合(一)

一、摘要 外观模式(Facade)是一个使用频率非常高的设计模式之一。 它通过为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。 二、外观模式概述...
  • kisscatforever
  • kisscatforever
  • 2015-11-09 11:02:42
  • 1842

简单的说一下 软件的 内聚性 和 耦合性

内聚性,又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。内聚性是对一个模块内部各个组成元素之间相互结合的紧密程度的度量指标。模块中组成元素结合的越紧密,模块的内聚...
  • StruggleOldBoy
  • StruggleOldBoy
  • 2016-07-09 21:22:04
  • 4745

vue耦合程度是什么意思

被这个新词吓唬的一愣一愣的。。。。  通俗的讲  就是写一个组件   在任何复杂的项目 任何复杂的场景下   都可以即拿 即用  这就是低耦合 高耦合的意思  通俗讲  就是 ...
  • qq_32963841
  • qq_32963841
  • 2017-12-12 10:37:10
  • 95

软件工程中的高内聚低耦合

定义 高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。 概念 耦合性:也称块间联系。指软件系...
  • permike
  • permike
  • 2016-08-24 17:04:31
  • 1500

设计模式六大原则之--开闭原则(OCP)

1.开闭原则:Open Closed Principle, OCP) 定义:Software entities like classes, modules and functions s...
  • benbenxiongyuan
  • benbenxiongyuan
  • 2014-04-18 15:21:03
  • 2168

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

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

Java程序设计之——代码耦合性与包的结构

问题和分析:     如下,一种 常见的 包结构:  |--x.y.service             -------存放service接口(interface)  |--x.y.servi...
  • zollty
  • zollty
  • 2016-12-31 21:23:10
  • 1252
    算法channel

    交流思想,注重分析,实例阐述,通俗易懂,包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!

    算法与人工智能交流群:646901659

    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 33万+
    积分: 7782
    排名: 3390
    博客专栏