
代码重构设计
文章平均质量分 91
代码重构设计是软件开发中经过验证的通用解决方案,它为特定问题提供了一种可以复用的设计方案。设计模式分为三大类:创建型、结构型和行为型。创建型模式处理对象创建的方式,确保系统使用对象的灵活性和可扩展性;结构型模式关注类和对象的组合,帮助构建灵活且高效的系统架构;行为型模式则用于在对象之间的通信和责任分
庄小焱
我是庄小焱,某大厂Java高级工程师、PMP项目管理专家、系统架构设计师(高级)、优快云博文专家。博主在支付交易领域,信贷金融领域、机器学习模型算法领域深耕,我在博客中分享业务、技术、产品相关知识,欢迎大家和我交流学习。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
代码重构——java代码开发规范
本文主要介绍了Java后端设计模式的重构,包括Java规范插件的作用和使用方法,Java编码规范的多个方面,以及Java异常规范的处理。文章旨在帮助开发者遵循最佳实践,提高代码质量和维护性。原创 2024-12-19 22:51:32 · 1591 阅读 · 0 评论 -
代码重构——JAVA开发规范设计
本文是一篇关于软件开发规约的指南,涵盖了编程、异常日志、单元测试、安全、数据库和工程结构等方面的规约,旨在提高代码质量、安全性和可维护性。原创 2023-09-20 08:47:45 · 1146 阅读 · 0 评论 -
代码重构——java代码如何精准命名
文章围绕 Java 代码精准命名展开讨论,首先剖析了常见的命名问题,包括命名过于宽泛,如 “processChapter” 难以精准体现函数功能;技术术语命名,像 “bookList” 基于实现细节命名易引发混淆;违反语法规则,如 “completedTranslate” 不符合动宾结构;不准确的英语词汇,如 “audit” 和 “review” 在审核场景中使用不当;英语单词拼写错误,如 “sortFiled”。接着提出命名建议,强调要用业务语言写代码,建立团队词汇表以确保团队成员对业务术语理解一致,同时原创 2024-11-15 10:19:59 · 1111 阅读 · 0 评论 -
代码重构——滥用控制语句、代码缺乏封装性
本文讨论了代码设计中的两个常见问题:滥用控制语句和代码缺乏封装性。文章指出滥用控制语句会导致代码嵌套过深、难以维护,并提出了减少嵌套、使用对象多态等改进措施。同时,强调了封装性的重要性,建议用对象取代基本类型,以提高代码的可维护性和可扩展性。原创 2024-11-16 00:34:16 · 1088 阅读 · 0 评论 -
代码重构——变量初始化、依赖混乱、代码不一致
本文讨论了代码重构中的几个关键问题,包括变量初始化、依赖混乱、代码不一致性等,并提供了Java语言中的具体实例和改进方法。文章强调了使用Java 8的新类和函数式编程、Java 9的List.of和Guava库的ImmutableList.of等现代Java特性来简化代码和提高代码质量。原创 2024-11-16 23:13:40 · 666 阅读 · 0 评论 -
代码重构——重复代码、长函数、长参数、大类
本文探讨了代码设计中的几个常见问题:重复代码、长函数、长参数和大类。文章强调了识别和避免这些问题的重要性,并提出了一些改进代码质量的方法,如遵循DRY原则、优化长函数、减少参数数量和合理划分类功能。原创 2024-11-16 00:55:48 · 1048 阅读 · 0 评论 -
设计模式——类与对象设计的六大基本原则
本文介绍了设计模式中的六大基本原则:单一职责原则、开放封闭原则、子类替换父类原则、接口调用原则、类对象交互原则和接口隔离原则。通过具体代码示例,阐述了每个原则的核心思想和应用场景,旨在提高代码的可维护性和灵活性。原创 2020-05-31 12:45:58 · 5816 阅读 · 0 评论 -
设计模式——类关系与UML组成
本文介绍了UML(统一建模语言)在软件系统分析和设计中的应用,详细解释了六大类关系(泛化、实现、依赖、关联、聚合、组合)及其在UML类图中的表示方法,并通过具体例子阐述了这些关系在实际编程中的应用。同时,文章还概述了UML的基本元素,包括类、接口、协作、用例、组件和节点。原创 2024-12-04 20:27:12 · 1200 阅读 · 0 评论 -
设计模式——Facade(门面)设计模式
本文介绍了外观设计模式,这是一种通过简单接口封装复杂系统的设计模式。它简化了客户端与子系统之间的交互,降低了耦合度,并提供了统一的调用接口。文章还探讨了该模式的优缺点,并提供了类图实现和使用场景。原创 2024-12-01 18:40:51 · 1522 阅读 · 0 评论 -
设计模式——Singleton(单例)设计模式
本文介绍了单例设计模式的概念、实现和应用场景。单例模式确保某个类只有一个实例,节省资源并提供全局访问点。文章详细解释了单例模式的实现要素,包括私有构造方法、静态实例和公共静态方法,并探讨了其在数据库连接池、日志记录器和配置管理器等场景中的应用。原创 2024-12-12 23:22:05 · 968 阅读 · 0 评论 -
设计模式——Strategy(策略)设计模式
本文介绍了策略设计模式(Strategy Pattern),一种行为型设计模式,用于动态选择算法或行为。通过Spring框架的自动装配功能,实现策略的自动扫描和装配,并通过传入策略名称动态切换支付策略。文章还区分了策略模式和状态模式,从关注点、核心思想、适用场景、行为选择方式、对象设计等方面进行对比,并提供了UML图。原创 2024-12-11 22:20:47 · 984 阅读 · 0 评论 -
设计模式——Template(模版方法)设计模式
本文介绍了模板方法和策略两种设计模式,并通过代码示例展示了它们的实现方式。文章比较了两种模式的适用场景和选择标准,指出模板方法模式适用于固定流程中部分定制的场景,而策略模式适用于算法可互换和行为变化的场景。最后,文章讨论了两种模式的结合使用,并提供了参考博文。原创 2024-12-10 23:03:40 · 1033 阅读 · 0 评论 -
设计模式——Decorator(装饰器)设计模式
本文介绍了装饰器设计模式,这是一种结构型设计模式,允许在不修改对象的情况下动态地为其添加功能。文章概述了装饰器模式的定义、作用、优点、缺点、类图实现和使用场景,强调了其在功能拓展、动态行为改变、避免类爆炸问题、增强现有对象功能、组合独立功能以及功能与行为解耦方面的优势。原创 2024-12-04 08:47:23 · 1090 阅读 · 0 评论 -
设计模式——Chain(责任链)设计模式
责任链设计模式是一种行为设计模式,通过链式调用将请求逐一传递给一系列处理器,直到某个处理器处理了请求或所有处理器都未能处理。它解耦了请求的发送者和接收者,允许动态地将请求处理职责分配给多个对象,支持请求的灵活传递或中断。原创 2024-12-04 20:18:57 · 1332 阅读 · 0 评论 -
设计模式——Proxy(代理)设计模型
本文介绍了代理设计模式(Proxy Pattern),这是一种结构型设计模式,通过引入代理对象来控制对原对象的访问。文章详细阐述了代理模式的定义、作用、优点、缺点,并提供了类图实现。此外,还探讨了代理模式的多种使用场景,包括远程代理、虚拟代理、保护代理等,并以图片延迟加载为例,展示了虚拟代理的实际应用。原创 2024-12-01 23:37:01 · 1105 阅读 · 0 评论 -
设计模式——Adapter(适配器)模式
本文介绍了适配器模式(Adapter Pattern),这是一种结构型设计模式,用于将一个类的接口转换成另一个接口以实现类之间的协同工作。文章详细阐述了适配器模式的定义、类型、作用、优点,并提供了使用场景和Spring框架下的示例代码。适配器模式通过解耦和扩展性,提高了系统的灵活性和可维护性。原创 2024-12-08 23:20:12 · 1154 阅读 · 0 评论 -
创建型设计模式——单例模式
单例模式定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例场景,也就是说:确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象应该有且只有一个。保证一个类仅有一个实例,并提供一个访问它的全局访问点。原创 2020-08-20 13:29:47 · 1363 阅读 · 1 评论 -
创建型设计模式——生成器模式
摘要摘要本文主要分析设计模式 - 生成器(Builder),封装一个对象的构造过程,并允许按步骤构造。原创 2020-08-20 13:52:20 · 910 阅读 · 1 评论 -
创建型设计模式——工厂模式
本博文主要介绍软件设计模式中工厂模式,其中工厂设计模式的扩展为简单工厂(Simple Factory)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)三种。原创 2023-09-26 14:44:22 · 477 阅读 · 0 评论 -
结构型设计模式——原型模式
本文主要分析设计模式 - 原型模式(Prototype),使用原型实例指定要创建对象的类型,通过复制这个原型来创建新对象。原创 2022-03-27 09:58:58 · 1455 阅读 · 0 评论 -
结构型设计模式——适配器模式
摘要本博文主要是介绍适配器模式的原理和应用场景。案例介绍晚上九点半,Tony 上了地铁,准备回家,正巧还有一个空位,赶紧走向前坐下。工作一天后,疲惫不堪的他正准备坐着打个盹小睡一会儿。这时进来两个小姑娘,一个小巧可爱,一个身姿曼妙;嬉笑地聊着天走到了 Tony 的前面,Tony 犹豫了片刻后还是绅士般地给小女孩让了个座……两个小姑娘道了声谢谢,便挤在一块坐下了,继续有说有笑地谈论着……Amy:周末在商场里看到你和一个帅哥在一起。好你个 Nina,脱单了也不告诉姐姐我,太不够意思了!怎么原创 2021-12-12 18:36:58 · 911 阅读 · 0 评论 -
结构型设计模式——桥接模式
桥接模式(Bridge pattern): 使用桥接模式通过将实现和抽象放在两个不同的类层次中而使它们可以独立改变。原创 2023-09-27 08:29:49 · 660 阅读 · 0 评论 -
结构型设计模式——装饰器模式
装饰者模式(decorator pattern): 动态地将责任附加到对象上, 若要扩展功能, 装饰者提供了比继承更有弹性的替代方案。本博文介绍结构型设计模式的装饰器模式,帮助大家更好学习和了解软件设计模式,更好的读懂源码设计。原创 2020-11-12 09:39:05 · 1042 阅读 · 1 评论 -
结构型设计模式——组合模式
组合模式(composite pattern): 允许你将对象组合成树形结构来表现"整体/部分"层次结构. 组合能让客户以一致的方式处理个别对象以及对象组合。原创 2023-09-27 08:34:50 · 673 阅读 · 0 评论 -
结构型设计模式——外观模式
本文主要分析设计模式 - 结构型 - 外观(Facade),它提供了一个统一的接口,用来访问子系统中的一群接口,从而让子系统更容易使用。原创 2023-10-09 20:36:30 · 650 阅读 · 0 评论 -
结构型设计模式——享元模式
享元模式(Flyweight Pattern): 利用共享的方式来支持大量细粒度的对象,这些对象一部分内部状态是相同的。 它让某个类的一个实例能用来提供许多"虚拟实例"。原创 2020-10-30 14:54:50 · 256 阅读 · 0 评论 -
结构型设计模式——代理模式
动态代理是Java语言中非常经典的一种设计模式,也是所有设计模式中最难理解的一种。那什么是代理设计模式?代理设计的基础概念就是通过代理控制对象的访问,可以在这个对象调用方法之前、调用方法之后去处理/添加新的功能。(也就是AOP微实现)。代理在原有代码乃至原业务流程都不修改的情况下,直接在业务流程中切入新代码,增加新功能。原创 2020-11-11 15:56:37 · 925 阅读 · 0 评论 -
行为型设计模式——模板方法模式
模板方法模式(Template pattern): 在一个方法中定义一个算法的骨架, 而将一些步骤延迟到子类中. 模板方法使得子类可以在不改变算法结构的情况下, 重新定义算法中的某些步骤。原创 2020-10-30 14:39:39 · 693 阅读 · 5 评论 -
行为型设计模式——观察者模式
监听的对象叫观察者(后面提到监听者,其实就指观察者,两者是等价的),被监听的对象叫被观察者(Observable,也叫主题 Subject)。监听模式又名观察者模式,顾名思意就是观察与被观察的关系,比如你在烧开水得时时看着它开没开,你就是观察者,水就是被观察者。原创 2021-12-12 14:01:24 · 1592 阅读 · 0 评论 -
行为型设计模式——责任链模式
责任链模式(Chain of responsibility pattern): 通过责任链模式, 你可以为某个请求创建一个对象链. 每个对象依序检查此请求并对其进行处理或者将它传给链中的下一个对象。原创 2023-09-28 09:48:37 · 2916 阅读 · 1 评论 -
行为型设计模式——策略模式
策略模式(strategy pattern): 定义了算法族, 分别封闭起来, 让它们之间可以互相替换, 此模式让算法的变化独立于使用算法的客户。原创 2020-11-12 15:33:45 · 2164 阅读 · 1 评论 -
行为型设计模式——观察者模式
观察者模式(observer pattern): 在对象之间定义一对多的依赖, 这样一来, 当一个对象改变状态, 依赖它的对象都会收到通知, 并自动更新。原创 2021-04-02 09:17:39 · 256 阅读 · 0 评论 -
行为型设计模式——中介者模式
本文主要分析设计模式中介者模式(Mediator pattern) : 使用中介者模式来集中相关对象之间复杂的沟通和控制方式。原创 2023-09-27 08:22:46 · 516 阅读 · 0 评论