比如某个业务逻辑层有2个方法:
public string F_XX()
{
//单独处理逻辑代码,不重复
//这里的代码重复冗余
}
public string F_YY()
{
//单独处理逻辑代码,不重复
//这里的代码重复冗余
}
现在问题来了,业务逻辑层怎样处理重复的冗余代码比较好。
欢迎讨论
感谢大家回答,我倾向于Spring.net 来帮助实现AOP
这个足够抽象! 可以上大学讲堂。
建议重复的逻辑代码抽离出来,单独作为一个方法。
这个方法放在哪儿比较好
提取方法
这个方法放在哪儿比较好
@木宛城主: 这就要看通用性了,放在能够通用的最高层
public string Always() { //这里的代码重复冗余 } public string F_XX() { //单独处理逻辑代码,不重复 Always() } public string F_YY() { //单独处理逻辑代码,不重复 Always() }
楼上都说的什么呀。对于程序设计,在初期就要考虑好各个类所代表的含义,在含义的基础上屡清逻辑,自然就有从属关系的逻辑了。
写个父类---方法如下:
1 public class Father { 2 /** 3 * @Name 4 * @Description 逻辑上的从属关系 5 * @Attention 包含公共方法·有此属性的继承该类 6 * @ReturnType void NULL 7 * @Tags 8 * @Author CaiYj 9 * <br>2014-10-24下午01:41:25 10 */ 11 public void doSth() { 12 //TODO 可能重复的代码 13 } 14 }
1 /** 2 * @Name Son1 3 * @Description 建立多个类似这样的类 4 * @Attention 【或者】 5 * @Tags 6 * @Author CaiYj 7 * <br>2014-10-24下午01:44:41 8 */ 9 public class Son1 extends Father{ 10 public void doSth() { 11 super.doSth(); 12 } 13 14 15 16 //----------------------或者-------------------------- 17 18 public void F_xx() { 19 /** 20 * 公共方法 21 */ 22 super.doSth(); 23 } 24 25 public void F_yy() { 26 /** 27 * 公共方法 28 */ 29 super.doSth(); 30 } 31 }
当然,具体逻辑要具体分析。楼主设计的时候不用考虑那么多技巧,代码在堆积的过程中不断改进,自然水到渠成……