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

文章目录

    • 1. 滥用 getter、setter 方法
    • 2. 滥用全局变量、全局方法
    • 3. 数据、方法分离

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

1. 滥用 getter、setter 方法

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

在这里插入图片描述

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

Constants 类

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

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

改进:

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

Utils 类

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

3. 数据、方法分离

  • 数据定义在一个类,方法定义在另一个类,是彻底的面向过程的风格

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 图片拖动加载 类似于地图_前端性能优化之图片懒加载(附vue自定义指令)...

作者:lzg9527链接:https://juejin.cn/post/6903774214780616718在类电商类项目,往往存在大量的图片,如 banner 广告图,菜单导航图,美团等商家列表头图等。图片众多以及图片体积过大往往会影响页面加载速度&…

vant toast 指定挂载到指定位置_docker卷挂载技术

卷技术,容器内部数据映射到宿主机上一、直接使用命令来挂载docker run -it -v /home/test:/home centos /bin/bash# 在主机上查看 docker运行容器的id [rootlocalhost home]# docker ps CONTAINER ID IMAGE COMMAND CREATED …

数据仓库 Hive(内含大数据镜像下载)

文章目录1. 特点2. Hive 体系架构3. 安装 Hive3.1 安装 MySQL3.2 安装 Hive3.3 配置 Hive4. 实践4.1 函数4.2 Hive Shell安装没成功:直接用现成的镜像 大数据Linux实验环境虚拟机镜像文件 http://dblab.xmu.edu.cn/blog/1645-2/ cloudera-quickstart-vm-集成了大数据…

一台机器起多个filebeat_全自动多色丝印机一台多少钱?

全自动多色丝印机运用在于几种领域当中,其中比较常见的应该就是包装行业了。比如我们日常生活中,经常看到的洗发水外壳上,化妆品外壳上,膏霜瓶瓶身上等地方的图文,都是使用全自动多丝印机印刷来的。全自动多色丝印机是…

C语言做线性分析,C语言版的线性回归分析函数

前几天,清理出一些十年以前DOS下的程序及代码,看来目前也没什么用了,想打个包刻在光碟上,却发现有些代码现在可能还能起作用,其中就有计算一元回归和多元回归的代码,一看代码文件时间,居然是199…

python里str什么意思_Python 3 字符串中的 STR 和 Bytes 究竟有什么区别?

原标题:Python 3 字符串中的 STR 和 Bytes 究竟有什么区别? Python2的字符串有两种:str和Unicode,Python3的字符串也有两种:str和Bytes。Python2的str相当于Python3的Bytes,而Unicode相当于Python3的Bytes。…

word 插入代码_突破Word页码困境,这招简单又实用的自动更新法,90%的人还不会!...

微信扫码观看全套Excel、Word、PPT视频在工作和学习中,常会遇到这样的情况,对于一篇既含有封面,又含有目录的文档,要求对它的页码进行如下设置:在文档底部靠右位置插入页码,页码形式为“第几页,…

接口 vs 抽象类 的区别

文章目录1. 抽象类2. 接口类3. 如何选择学习自 极客时间《设计模式之美》 1. 抽象类 2. 接口类 3. 如何选择 表示 is - a 关系,解决代码复用:抽象类(自下而上,子类的代码重复,抽象成上层父类) 表示 has - …

数据结构与算法 pdf_整理一个月完成的数据结构与算法PDF和测试代码免费拿

点击上方「10分钟编程」关注我呦让我们每天「博学」一点点数据结构与算法作为一名2021届的学生,今年7月份就要面临秋招了,那么对于应届生来说,要想脱颖而出,笔试就显得太重要了,算法题是笔试环节的最重要组成部分&…

天池 在线编程 部门统计(哈希)

文章目录1. 题目2. 解题1. 题目 描述 公司给你提供了所有员工的信息,包括其ID,姓名和所属部门。 以及他们之间的朋友关系,每个关系中由2个ID组成,如 “1, 2” 代表1号员工和2号员工是朋友。 朋友关系不具有传递性,即B…

android 过滤emoji表情符号,android怎样过滤字符串中的emoji表情

满意答案jdubysct2016.03.15采纳率:43% 等级:8已帮助:863人解决方案对于字符串处理,首选就是正则表达式去处理,而在android系统中可以自定义InputFilter去过滤需要处理掉的字符串,代码如下InputFilter emojiFilter new InputFilter ( ) {…

c++exe程序在别人电脑上双击无法打开_Windows10电脑磁盘占用率过高,用这二招轻松解决...

在操作计算机时,可能会看到类似“Srtasks.Exe”的信息,这个Srtasks.Exe表明Windows10电脑磁盘占用率过高。这是被称为“Microsoft系统保护后台任务”的可信Microsoft进程的可执行文件,Windows 10的“任务计划程序”经常使用该进程自动创建还原…

链接聚合是将一组物理接口_500字描述华为VLAN聚合工作原理 你看懂了吗?

VLAN聚合的工作过程和通行情况是如何的呢?工作原理如下:和普通VLAN都有一个三层逻辑接口和若干物理接口,VLAN聚合定义的Super-VLAN和Sub-VLAN比较特殊:Sub-VLAN:只包含物理接口,不能建立三层VLANIF接口&…

天池 在线编程 区分用户名(哈希)

文章目录1. 题目2. 解题1. 题目 描述 给出一组用户名,如果有重复的用户名,则在用户名后添加数字区别,并返回修改后的数组。 样例 1: 输入:["aa", "bb", "cc", "bb", "aa", &…

蓝桥杯 之 基础练习10:十进制转十六进制

【循环 整除 求余 判断】 /*问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,…

天池 在线编程 区间合并(字符串)

文章目录1. 题目2. 解题1. 题目 描述 现在给你两个字符串区间(按字典顺序), 请你判断两个区间是否可以合并。 字符串区间[a, b),包括所有以a开头的字符串。 例如,区间[a, b)和区间[ab,c)是可以合并的, 区间[a,b)和区间[b, c]也是可以合并的…

LeetCode 1812. 判断国际象棋棋盘中一个格子的颜色

文章目录1. 题目2. 解题1. 题目 给你一个坐标 coordinates ,它是一个字符串,表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。 如果所给格子的颜色是白色,请你返回 true,如果是黑色,请返回 false 。 给…

dev c++ 代码补全_zsh配置与代码自动补全+tmux配置

先上链接ohmyzsh​github.comzsh-autosuggestions​github.comgpakosz/.tmux​github.com问题描述代码需要,更换了服务器,发现新服务器上zsh没有自动补全,难受得不行,并且没有个性化的配置,强迫症顶不住,tm…

京东抢购助手_[Windows] 京东极速抢购助手V2.0,支持京东健康+扫货抢购

本软件仅供学习交流,完全免费,同时也为帮助有缘人能买到自用的口罩,度过这段特殊时期!请勿用于其它用途,谢谢!如有违规,请删帖!下载地址:https://www.lanzous.com/ia3bfl…

SQL Server 和 Oracle 以及 MySQL 有哪些区别?

SQL,在这里我理解成SQL Server。三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性。排行第四的DB2(属IBM公司),与Oracle的定位和架构非常相似,就不赘述了。 …