设计模式学习之旅——里氏替换原则

我2014年大学毕业,前后也做过了不少的安卓开发项目,始终觉得此设计模式任然要进一步的学习研究。

设计模式是前人总结,供我们学习利用的一个开发手段,在软件工程中使用了它能为我们项目的开发带来很大的收益,在Java或android的开发过程中也会不经意的用到这些设计模式。

重新学习了一段时间的设计模式后,我想到了在此处记录一下我的学习笔记,也许以后会觉得这些都变成了常识而已,而我想记录现在的学习心得,供今后不断改进,也为了我成为真正的安卓开发大大师后不忘怀恋一下曾今的学习史。

以上是个人的肺腑之言。如果我有哪处说得不对或者不地道的地方,忘高人多多指教,也欢迎提出个人见解。

当身边的人对我的职业产生担忧——一个女孩做软件会不会很辛苦,尤其是父母的,差点让我对开发产生了动摇。

但是也会有业内朋友说,你不做软件的话,it就少了个人才,也有人说你爱学爱拼,哪家公司录用了你真是他的福气。或说你的代码写得很规范,继续做开发吧。也有说我做别的工作的话就大材小用了。我感觉这些已经是很高的评价。记得在我看来学习和编程都很优秀的学弟竟然提前跟我预约问我的毕业论文答辩的时间和地点并提前到场为我加油,这种对我的肯定我很高兴。曾在一家公司有不少次数老板拉着同事对我预赞不止,应该是感觉我有创业的经历和为公司也为自己的拼搏干劲,开会时发现平时低调的我是个有想法有口才的人,但跟同事聚会时又是个单纯可爱的学生妹的样子,喝酒时显得又低调却豪爽。当时我遇到了一堆贵人,有好老板,有好的直接上司,有好同事,身边还有好对象,有好学弟,还有不在身边的好同学,好朋友,感觉世界都是美的暖的。为了他们我有干劲,敢于挑战。我想祝愿好人一生平安,我想特别点名祝福我心里经常感恩而又无以回报的人——符亚林符总、易林易经理、love夏瑞瑞、女神黄全全。说到这里我的脑子里便涌出一堆感恩的人,从大学到社会的,说多了是不是就假了,还是放心里是真的。但是我还是很想说唐道娟你要好好的,黎丝军加油,何雪芳老师。。。还是不要继续说了。往往成功人士在演讲时会说那么多感谢,我以为那是必要的台词。而我今天没有什么成就,但我心里就一直装着这些,老是感觉无以回报。现在回想起来感觉上帝在我身边布满了好人,原来以前的我是幸福的。努力的我是幸福的。上帝会给努力的人幸福。最后我想说,黄鸿波,先不说你是改变世界的人,但你绝对是改变环境的人。也注意好你的身体。接下来看看我的学习简要总结把。

里氏替换原则(Liskov Substitution Principle,LSP)

父类存在的地方子类也可以存在。相反则未必(专业的定义是:所有引用基类的地方必须能使用子类的对象)

子类覆写或重载父类方法,子类方法的参数类型范围必须要等于或者大于父类方法的参数类型范围,及子类的前置条件要比父类的前置条件宽松。

·在类中调用其他类时一定要使用父类或者接口,否则说明类的设计已经违背了LSP。

在实际项目中,每个子类对应着不同的业务含义,使用父类作为参数,传递不同的子类完成不同的业务逻辑,pretty!

优点:

增强程序的健壮性,保持版本升级时的兼容性。

代码例子将在以后选择时间补充上去。或者有人留言有不理解之处我将特意为之挥笔写上代码例子。也望提出补充或观点。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...