《大话设计模式》学习笔记<二>

     做一个商场收银的小系统。刚开始编程的时候,没有想到代码的可维护性,因此编出来的程序只能是正常收费的情况。当商场打算搞促销那该怎么办呢?只好重写程序。再次写这个程序的时候要考虑的代买的可维护性。

     我们考虑一下,商场无论怎么搞促销活动,不同的仅仅是收银时的打折处理方法,而基本的计算总价方法是相同的,不同的打折手段是特性。因此我们可以写一个抽象类,在这个抽象类中有一个抽象方法(这个抽象方法以当前总价为输入参数,输出打折后的价钱),然后我们就再编写各种打折的方法类,这些类都继承与上一个抽象类,都根据自己的打折办法,重写了打折计算方法。然后再写一个现金收取工厂,用父类定义个引用,当选择不同的促销打折方法时,用不同的子类对 引用进行实例化,并别返回这个实例化后的对象。

     需求的变更时必然!所以开发者应该是考虑如何让自己的程序更能适应变化,而不是抱怨客户的无理,客户不会管程序员加班时的汗水,也不相信程序员失业时的眼泪。

     在上面的例子中,由于商场可能经常性的更改打折额度和范例额度,每次更改代码重新编译部署真的是很糟糕的处理方式,面对算法的时常变动,应该有更好的办法。应该好好的研究一下设计模式。《深入浅出设计模式》

     

 

posted @ 2008-09-06 08:53  IT-CEO  阅读(208)  评论(0编辑  收藏  举报