首页 新闻 会员 周边

代码大全-功能内聚

0
悬赏园豆:20 [已解决问题] 解决于 2015-05-12 21:34

子程序需要按照给的出生日期来进算出员工的年龄和退休时间。如果子程序先计算员工年龄再根据年龄计算退休时间那么他就具有顺序的内聚性。这时你可以创建两个不同的子程序,他们能根据给定的日期分别计算出员工的年龄和退休时间,其中计算退休时间的子程序可以调用计算年龄的子程序,这样两者都具有功能上的内聚性了。

现在计算年龄方法为A,按照上述,计算退休时间为方法
B(){
A();
........
}

现在有一个方法C,既计算工龄,又计算退休时间,那么C方法为 

C(){ 

 A(); 
 B(); 
 ........ 
 那么A方法岂不是调用两次?优势在什么地方?请大神帮忙解惑,谢谢。
 
风无伤的主页 风无伤 | 初学一级 | 园豆:184
提问于:2015-05-07 23:27
< >
分享
最佳答案
0

这个明显不是高内聚啊 都重复了 一般可以用委托来避免这种情况 

收获园豆:20
狂扁小朋友 | 初学一级 |园豆:10 | 2015-05-08 10:47

新手,这方面不太理解。委托怎么解决这个问题呢?能详细说一下吗?谢谢!

风无伤 | 园豆:184 (初学一级) | 2015-05-08 10:49

@风无伤: 

 

比如 B函数里面有A函数相同的代码

那么就可以把AB函数共同的代码 抽出来 在函数里面再写一个函数 

这样代码就没有重复了

狂扁小朋友 | 园豆:10 (初学一级) | 2015-05-08 10:51
其他回答(1)
0

要 职责单一

KingsWang | 园豆:213 (菜鸟二级) | 2015-05-08 15:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册