我们经常需要对一段已有的代码进行修改,结果是一处小的变动就会在整个应用程序中产生连锁反应,导致无法编译通过,甚至能引入某种错误。然而,软件总是需要经常的改变,代码具有弹性、灵活性和适应性,并最终让软件更加具有可维护性是很重要的。不容易改变最大的阻力来自于依赖。
一、评估代码的依赖程度
面向对象程序设计的真正威力在于,对象相互之间能够进行交互,从而形成一个更复杂的模块或组件。这样,我们就能执行更加复杂的过程,这个过程能够转化为通过工作流解决业务问题。依赖就是对象需要用户正确发挥功能的东西;识别代码中的依赖的一种容易的方式就是找出创建其他类的新实例的地方。通过在一个类中创建另一个类的实例,马上就建立了依赖,并使代码成为紧密耦合代码。了解这一点最好的方式当然就是示例:
假定您正供职于一家提供电子商务方案的软件公司。当前的程序只需要支持使用Alipay(支付宝)支付商提取订单付款和执行退款业务。
然而,有些客户需要使用ChinaPay支付平台。您的老板同意在下一个发布版本中包含这个新的支付平台,并选择允许公司通过一种配置设置来指定支付平台。
(1)我们新建一个类库项目并在项目中添加三个文件夹Model、Properties、Services。
(2)在Model文件夹中添加一个Customer类,表示退回订单项的消费者
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace ProEnt.Chap3.Returns.Model 7 { 8 public class Customer 9 { 10 private string _emailAddress; 11 private string _name; 12 private string _mobileNumber; 13 14 public string EmailAddress 15 { 16 get { return _emailAddress; } 17 set { _emailAddress = value; } 18 } 19 20 public string Name 21 { 22 get { return _name; } 23 set { _name = value; } 24 } 25 26 public string MobileNumber 27 { 28 get { return _mobileNumber; } 29 set { _emailAddress = value; } 30 } 31 } 32 }