变化求生存

来源:互联网 发布:win764安装2005数据库 编辑:程序博客网 时间:2024/04/29 15:57
  •        变化:           让鸭子飞起来!               (增加行为)     条件:        1 让鸭子飞起来.        2 不是所有的鸭子都会飞.   解决办法一:继承提供行为.        (1)让所有的鸭子都用这个方法.(第一条),不会飞的就搞掉(第二条)====>为什么不把会飞的搞进子类中,不会飞的不搞呢?          多态.        做法总结:        利用继承来提供行为.        缺点:        1 运行时,行为不易改变.                   (代码已编译死)(大有文章)        2 改一处,动全身.(造成其它不想要的改变)         3 很难知道所有鸭子的所有行为.(为什么要知道?想一次性搞好?不再修改啊!可是无法知道将来的变化.)          否定用继承的办法:要有足够的理由,这还不够,要足够致命!足够重要!               ===本例:每六个月变增加,行为没有想好!===无穷尽的修改!(如果你想这一辈子就做这一件事,可以!但是,别人允许你这样吗?               烦死了,总是改!人家还以为你不行呢!)        说明:               1每次继承,都要去盖掉.本来不应该有的(做本不该做的)               2关键是:隔很长时间,你总要记得你要去修改这些!          该死的原因是:在基类中,你加入了"不是通用"的东西.          最好的办法:               1通用的都用.                 2特殊("行为")的特别对待.        解决办法二:接口提供行为        (1)想法:特殊的行为:谁有谁实现.  ==(这样就解决了,有了不该有的行为:==没有实现的,它一定不会有!)               问题:代码重复加重!同样的东西,多次出现!只要有这个行为的,就重复代码一次!          否定这种做法的原因:        1重复代码!        2造成代码不能复用!(这是致命的,关键的,决不允许的!)
原创粉丝点击