架构,改善程序复用性的设计~第三讲 实现一种功能的代码只能出现在一处(续)
在写完架构,改善程序复用性的设计~第三讲 实现一种功能的代码只能出现在一处 ,这篇文章后,得到了园友的反馈,说这种简单的业务逻辑还可以,但业务比较复杂时,根据就没法用这种方法。 针对这个问题,我觉得有必要再写一个续集了,呵呵! 上回说的主要核心内容是将公用的部分从一个方法中提取出来,生成一个新的方法,这个重构中叫做“提取到方法” ,另外一个核心内容就是方法的”单一职责“,即一个方法干一件事,将出现复杂事件时,将多个方法进行组合调用即可 这回主要说一个重构中的提取,其实不仅方法可以被提取,类,及整个项目也可以被提取,只要他们有被提取的必要! 一个例子:对于一个数据实体操作的基类,它包括了其它所有实体类共有的属性(DB)和方法(SubmitChanges),这可以理解了”提取到类“,当然这也是类的继承及面向对象的一个例子。 1 /// <summary> 2 /// LINQ数据库操作基类 3 /// </summary> 4 public abstract class RepositoryBase 5 { 6 public RepositoryBase(DataC...