【设计模式】四:开放-封闭原则

开发封闭原则 定义:软件实体(类,模块,函数等等)应该能够扩展,可是不能够修改 特征:1:对于扩展是开发的,2:对于更改是封闭的 目标:当面对新的需求的时候,能够不用修改或者大幅改动以前封装好的内容,只须要进行扩展就能够知足新的需求 实现方式:在最初接到需求的时候,就应该仔细思考,考虑到需求会发生哪些变化,想的越多,越全,这样在面对需求更改的时候,          可使用最少的成本,最高效的完成。这就是一直说的百分之70的时间用来思考,百分之30的时间用来实现 实际状况:不管模块多么封闭,在面对需求变化的时候,都没法作到彻底封闭,均可能会有一些细微的改动,所以就须要在设计模块的时候,          作出选择,提早思考到有哪些变化种类,而后抽离出这些变化;例如以前实现的加减乘除,最开始直接到减的需求,而后产品又增长了          加的需求,此时咱们就应该想到会有不一样的计算规则,所以就须要对计算规则抽象出一个基类,而后每一个具体的计算规则都继承自这个基类          这样新增新的计算规则时,只须要继承实现就能够了。 思考方向:          在实际的业务开发中,一开始咱们可能会想不到那么多,咱们也没法猜想产品的走向,能够作一些简单的封装等操做便可,可是后来产品提出          了同类需求的时候,咱们就须要将他们之中的相同抽离,封装,继承,这样在之后实现同类需求时就是在增长新的代码,而不是在更改旧的代码 注意:查明可能须要变化所等待的时间越长,到时候封装,抽离越困难 重要性:开闭原则是面向对象的核心,遵循这个原则的话会体会到面向对象的可维护,可扩展,可复用,灵活性好的好处;但要注意拒毫不成熟的抽象
相关文章
相关标签/搜索