一、写在前面
同一个项目面向的不同的客户,虽然业务差不多,但是还是会不同,那如何设计项目的框架,满足不同客户同时开发呢?而且还得考虑,可能大部分的客户用的系统差不多,但是又少部分的客户对同样的功能需求有特殊要求,那应该怎么设计呢?
二、代码演示
public interface Iperson{ void Walk();}//健全的人public Class HealthPerson:Iperson{virtual void Walk() { Console.WriteLine("用两条腿走路"); }}//一个叫小兔的人public Class xiaotu:HealthPerson{ Override void Walk() { base.Walk(); }}//一个叫阿甘的残疾人public Class AGan:HealthPerson{ Override void Walk() { Console.WriteLine("做轮椅走路"); }}
三、解析这个demo
解析例子:我们可以看到,作为一个健全的人,肯定是用两条腿走路,也就是所大部分人如同里面的小兔一样,都是健全人,两条腿走路就可以了,但是有些人腿脚残疾,只能坐轮椅,那面向这样的人,我们应该特殊对待。
联系实际:看一下这个HealthPerson这个类,它其实是项目的一个核心基础类,什么意思呢,比如你要做一个系统,这个系统的所有逻辑可以放在这个地方,那可能你卖给你的客户的时候,大部分客户都使用的是这个逻辑,但是有些客户呢,提出某些功能的逻辑得改变,那么为了应对这样的一群客户,所以我们的项目都得继承这个叫HealthPerson类,如果一旦有变化,我们可以重写HealthPerson类里面的方法,就满足了少数不同用户的需求。其实这个可以看成是业务逻辑层的一个设计实现啦。
有志同道合的朋友,我们可以相互交流。qq:739462304