设计模式系列:OOP设计6大原则

阅读: 评论:0

设计模式系列:OOP设计6大原则

设计模式系列:OOP设计6大原则

前言

相信有过开发经验的人都有过这种体验:让你接手一个的项目,2种情况。A.这个项目已经被好几个人,甚至好几代程序员开发维护过;B.这个项目等待你的全新开发。不给你设时间期限,你更愿意选择哪一个?我相信99.9%的人都会选择B这种开发模式。有木有??
Why?因为不想改一个bug引起n个bug。说到底,就是因为已有的项目架构没有做好,或者没有适时的做架构调整,假如你接手的是旧代码,可能为了添加一个功能,因为架构不具备扩展性,你也许只能在原有的基础上修改几行代码,甚至修改几百上千行代码来达到目的,以此来埋下诸多隐患待下一个接盘侠搞定。那么就引出了今天的话题?什么样的代码才具备可扩展性呢?

本文作者xiong_it,博客链接:。转载请注明出处。

本篇文章已授权微信公众号 guolin_blog(郭霖)独家发布.

Open Close Principle

OCP原则(开闭原则):一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

wtf???太抽象了!!!在笔者的理解中,OCP是6大原则的最高纲领,所以才如此抽象,晦涩难懂。用面向对象的语言来讲,OCP是一个最抽象的接口,而其余的5大原则只是OCP的子类接口,他们一起定义了OOP世界的开发标准,常用的23中设计模式更是只能算作这6大原则的实现抽象类,咱们开发的代码实践才是真正的具体子类。

public interface OCP {void openExtention();void closeModifiability();
}

Q:What is OCP?
A:OCP是啥咧?它告诉我们,咱们编写的代码应该面向扩展开放,而尽量不要通过修改现有代码来拥抱需求变更。这里,代码可以指的是一个功能模块,类,或者方法。
Q:Why do we need to follow this principle?
A:我们为什么要遵循OCP原则呢?地球人都知道代码后期需求变更的痛苦,如果不利用扩展来适应变更,那迎来的将是代码被修改的千疮百孔。
Q:How do we practice this principle?
A:我们如何实践这条原则?能用抽象类的别用具体类,能用接口的别用抽象类。总之一句:尽量面向接口编程。这里之所以说“尽量”是因为凡事都有度,别让你来个hello world你还给整个接口再实现。

talk is cheap,show your the code.

 需求:老王开车去东北。

简单,开撸。

老王来了,大家藏好自己媳妇儿。

public class Laowang {private Car car;private DongBei dongbei;...getter() & setter()...public void drive() {(dongbei);}
}

要车就给你一辆咯

public class Car {public void goto(DongBei dongbei) {System.out.println(“要去东北咯,啦啦啦”);// 模拟开车旅途消耗时间。10s就到东北了,开的可够快的啊

本文发布于:2024-01-30 15:37:19,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170660024321040.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:原则   模式   系列   OOP
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23