当前位置:刘伯温心水图库本港台 > 软件易维护性 >

关于C++的程序的可扩展性和维护性

  在一个农场里有农场主和奶牛,农场主每天为奶牛挤奶;现在把农场主和奶牛分别看作对象。根据以上描述,考虑到程序的可扩展性和维护性,请说明把挤奶这个行为分配农场主有怎样的好处?...

  在一个农场里有农场主和奶牛,农场主每天为奶牛挤奶;现在把农场主和奶牛分别看作对象。根据以上描述,考虑到程序的可扩展性和维护性,请说明把挤奶这个行为分配农场主有怎样的好处?如果分配给奶牛又有怎样的好处?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部个人认为将当前情况下,行为分配给农场主既有利于可扩展又有利于维护性。

  挤奶是行为,本例中只有农场主具有该行为,奶牛语义上不应该具备该行为,奶牛只能返回相关属性,让农场主判定是否能够挤奶,挤奶量等等。

  无论奶牛如何扩展、甚至农场主扩展,都可以依赖抽象(当然不考虑双分发问题),具备较高的扩展性。

  同时维护点少,如果分配给奶牛,那么如果奶牛的挤奶行为出现差错,则可能需要从顶层至底层修改奶牛的行为。而分配给农场主,则出错仅需在挤奶这个行为范围内进行修改。

  题外话:当然复杂情况下,维护性不好判断,也就是说,前提是如果系统扩展至一定层次,那么农场主挤奶行为可能会十分复杂,那么它的维护性远远低于分配给奶牛。

  其中把挤奶这个行为分配给农场主,有利于可扩展性,原因是挤奶是一个人的动作,可以给许多奶牛进行操作,换句话说就是这个行为可以给多个对象服务。而把挤奶的行为分配给奶牛,有利于可维护性,原因是只有还能产奶的奶牛才能给于挤奶的操作,如果一些牛停奶了,那该挤奶的行为就应该不再提供了,换句话说就是相同类的不同对象如果其中之一出现问题或故障,可以仅仅从该对象而不是整个类进行修改或维护。

  //首先设定一个动物的基类,提供一种通用的挤奶方法。所有动物都从这个类派生。

  //采用这种方法,以后添加新的动物类,根据动物来重载挤奶方法就可以了。原有的代码都不需要发生改变。

http://jeffcafone.com/ruanjianyiweihuxing/434.html
点击次数:??更新时间2019-06-19??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】