写在前面 最近, 接手了一个新业务,系统的架构可圈可点。但有些地方让人望而生畏,有些代码臃肿难以维护,让人不敢恭维。于是,结合了Java的开放封闭原则,对其中一部分代码进行了重构优化。 先来看下以前系统的老代码 shareChannel这个方法承载了分享渠道的主要链路逻辑。分享 ...
怎样的升级才能面对需求的改变却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出新的版本呢 开放 封闭原则 The Open Closed Principle, OCP 为我们提供了指引。软件实体 类 模块 函数等 应该是可以扩展的,但是不可修改的。如果程序中一处改动就会产生连锁反应,导致一系列相关模块的改动,那么设计就具有僵化性的臭味。OCP建议我们应该对系统进行重构,这样以后对系统再就 ...
2019-09-10 11:07 0 334 推荐指数:
写在前面 最近, 接手了一个新业务,系统的架构可圈可点。但有些地方让人望而生畏,有些代码臃肿难以维护,让人不敢恭维。于是,结合了Java的开放封闭原则,对其中一部分代码进行了重构优化。 先来看下以前系统的老代码 shareChannel这个方法承载了分享渠道的主要链路逻辑。分享 ...
在面向对象的设计中有很多流行的思想,比如说 "所有的成员变量都应该设置为私有(Private)","要避免使用全局变量(Global Variables)","使用运行时类型识别(RTTI:Run T ...
前言 面向对象有人分为五大原则,分别为单一职责原则、开放封闭原则、依赖倒置原则、接口隔离原则、里氏替换原则。 也有人分为六大原则,分别为单一职责原则、开放封闭原则、依赖倒置原则、接口隔离原则、里氏替换原则、迪米特法则。 现在我们来介绍开放封闭原则,也叫开闭原则 开闭原则 ...
开放封闭原则定义 开放与封闭原则有两种不同的定义,分别是20世纪80年代最原始的定义和后期一个更现代的定义,后者对前者进行更加详尽的阐述。 Meyer的定义 软件实体应该允许扩展,但禁止修改 ——《面向对象软件构造》 Martin的定义 ”对于扩展是开放 ...
开放封闭原则(Open-Closed Principle OCP) Software entities(classes,modules,functions etc) should open for extension ,but close for modification. 什么意思 ...
1.什么是开闭原则 开闭原则的英文是Open Closed Principle,缩写就是OCP。其定义如下: 软件实体(模块、类、方法等)应该“对扩展开放、对修改关闭”。 从定义上看,这个原则主要包含两部分: 对扩展开放:“ 这意味着模块的行为是可以扩展的。当应 ...
开闭原则的定义 开闭原则是java世界里最基础的设计原则,它指导我们如何建立一个稳定,灵活的系统。开闭原则定义如下: Software entities like classes,modules and functions should be open for extension ...
目录 简述 最早提出(梅耶开闭原则) 重新定义(多态开闭原则) 深入探讨 OCP的两个特点 对外扩展开放(Open for extension) 对内修改关闭 抽象 关闭修改 ...