哪些代码设计看似是面向对象,实际是面向过程的?

学习自 极客时间《设计模式之美》

1. 滥用 getter、setter 方法

  • 违反了封装特性,风格退化为面向过程编程

在这里插入图片描述

2. 滥用全局变量、全局方法

Constants 类

所有的常量都放在这个类中,不好:

  • 影响代码可维护性(类越来越大,查找费时)
  • 增加代码编译时间(依赖这个代码的文件很多,每次修改,依赖的文件都要重新编译)
  • 影响代码复用性(可能将一些无关的常量引入到新项目)

改进:

  • 拆解,跟哪个模块相关的参数放在一起
  • 哪个类用到常量,在其中定义

Utils 类

  • 不同的类都共同使用的方法,可以定义到 Utils 类中,它是面向过程的风格,想清楚是不是确实需要
  • 也要注意分类,FileUtils、IOUtils 等,做到职责单一

3. 数据、方法分离

  • 数据定义在一个类,方法定义在另一个类,是彻底的面向过程的风格
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页