重构老系统遗留代码的一些方法学习笔记

简介: 重构老系统遗留代码的一些方法学习笔记

image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png表示某种不相依赖性或者解耦性。如果两个或者更多事物种的一个发生变化,不会影响其他事物。这些事物就是正交的。在设计良好的系统中,数据库代码与用户界面是正交的:你可以改变界面,而不影响数据库,或者更换数据库,而不用改变界面。

如果修改代码中的现存行为只需要到一个地方修改,即拥有正交性。


开放/闭合 原则(OCP,Open Closed Principle)

对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。

对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。

实现开放封闭的核心思想就是对抽象编程,而不对具体编程,因为抽象相对稳定。让类依赖于固定的抽象,所以对修改就是封闭的;

而通过面向对象的继承和对多态机制,可以实现对抽象体的继承,通过覆写其方法来改变固有行为,实现新的扩展方法,所以对于扩展就是开放的。这是实施开放封闭原则的基本思路。


相关文章
|
8月前
|
Java 编译器 应用服务中间件
代码开发优化细节
带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50% 。
188 2
代码开发优化细节
|
9月前
|
数据库
重构——前提工作
重构——前提工作
|
10月前
|
设计模式 Java
【Java设计模式 规范与重构】 一 重构的目的、内容、时机、方法
【Java设计模式 规范与重构】 一 重构的目的、内容、时机、方法
120 0
|
10月前
|
程序员 测试技术
《重构2》第十章-简化条件逻辑
《重构2》第十章-简化条件逻辑
305 0
|
11月前
|
NoSQL 关系型数据库 MySQL
一日一技:如何正确为历史遗留代码补充单元测试?
一日一技:如何正确为历史遗留代码补充单元测试?
76 0
|
SQL XML 存储
安全开发规范:开发人员必须了解开发安全规范(一)(涉及安全问题,以及解决方法和代码实现)
安全问题其实是很多程序员想了解又容易忽略的问题,但需要我们重视起来,提高应用程序的安全性。常出现的安全问题包括,程序接受数据可能来源于未经验证的用户,网络连接和其他不受信任的来源,如果未对程序接受数据进行校验,则可能会引发安全问题等等
4737 0
安全开发规范:开发人员必须了解开发安全规范(一)(涉及安全问题,以及解决方法和代码实现)
|
缓存 负载均衡 NoSQL
系统重构 | 学习笔记
快速学习系统重构
370 0
|
消息中间件 设计模式 缓存
系统重构的道与术
准备以重构工作中容易产生误区的地方或容易被忽视的重点来聊聊,既不重复网上千篇一律的各种方案资料,也对重构工作有参考价值。
系统重构的道与术
重构-改善既有代码的设计-简化函数调用
Rename Method 函数改名 问题函数的名称未能揭示函数的用途。方法修改函数名称。动机好的函数需要有一个清晰的函数名。
977 0