软件架构设计原则

news/2024/9/24 15:48:08/

在这里插入图片描述

开闭原则

  开闭原则(Open-Closed Principle,OCP)是指一个软件实体,应该对扩展的开放的,对于修改是关闭的。开闭就是指拓展与修改两个行为。什么意思呢?就是说对于一个Java对象来讲,你可以去继承它方法和属性,对继承类进行拓展,但是不可以直接修改它的方法和属性。这样提高了软件系统的可复用性和可维护性。

  开闭原则作为面向对象设计的基本原则,直接对接了面向对象的三大特性,继承、封装、多态。可以在不修改源代码的情况下实现新增功能。

  简单的举个例子,宠物 Pets,有名字、年龄大小、毛色等属性

java">public class Pets{private String name;private Integer age;private String color;
}

  整个宠物圈,可能有小猫、小狗、小猪等等一些宠物。例如下面来建立一个一个猫的宠物类型,它除了上面的属性之外,还有一个动作就是吃。这个时候可以继承Pets类然后给小猫一个吃的方法。

java">public class CatPets extends Pets{public void eat(){}
}

  对于小狗、小猪也是以同样的方式创建,这个时候我们可以知道,猫也有很多的更细的分类。这个时候我们对于每个猫的修改就是继承CatPets进行更加细致的分类了。而不是去修改顶层的Pets类型。

依赖倒置原则

  依赖倒置原则(Dependence Inversion Principle,DIP)是指在设计代码结构的时候,高层次的模块不应该依赖低层次的模块,二者都应该依赖其抽象。抽象内容不应该依赖具体的细节性的内容。通过依赖倒置,可以减少类对象与类对象之间的耦合性。这样可以提高系统的稳定性,提高代码的可读性和可维护性,并且能够降低修改程序所造成的后续风险。
  拿上面的宠物的例子来讲,先创建一个人的对象Person类

java">public class 

http://www.ppmy.cn/news/1529869.html

相关文章

Spring Security 详解:保护Java应用的强大盾牌

在Java企业级开发中,安全性始终是一个至关重要的考虑因素。Spring Security作为Spring框架的一个重要子项目,提供了一个功能强大、可高度定制的身份验证和访问控制框架,帮助开发者轻松实现应用程序的安全性管理。本文将详细介绍Spring Securi…

华为---代理ARP简介及示例配置

目录 1. 概念 2. 前提条件 3. 使用环境 4. 工作过程 5. 优点 6. 缺点 7. 示例配置 7.1 示例场景 7.2基本配置 7.3 配置端口隔离 7.4 开启代理ARP 7.4.1 VLAN内代理ARP 7.4.2 VLAN间代理ARP 7.4.3路由式ARP代理 1. 概念 代理ARP(Proxy ARP)&…

WEB攻防- Oracle基本注入

前置知识 1.dual表 此表是Oracle数据库中的一个自带表,为满足查询条件而产生。与MySQL不同的是,在MySQL中查询语句可以直接是:select 1,2,但是在Oracle中就必须跟一个表名,但是如查询日期是没有表的,就可以…

软件设计师の第三章:知识产权

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…

【STM32】PWM

一、 PWM 概述 定义 PWM(Pulse Width Modulation), 脉冲宽度调制。 脉冲: 方波, 频率(freq) 宽度: 高电平的宽度, 占空比(duty) ​ 详细波形如下图。 用途 控制灯光的亮度(手机/平…

力扣 LCR 020 回文子串 -Python

题目链接:LCR 020. 回文子串 - 力扣(LeetCode) 题目描述: 给定一个字符串 s ,请计算这个字符串中有多少个回文子字符串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视…

常见框架漏洞复现

1、Thinkphp5x远程命令执行及getshell 1、环境配置 靶场:vulhub/thinkphp/5-rce docker-compose up -d 2、漏洞利用 漏洞根本源于 thinkphp/library/think/Request.php 中method方法可以进行变量覆盖,通过覆盖类的核心属性filter导致rce,其攻击点较为…

828华为云征文 | 将Vue项目部署到Flexus云服务器X实例并实现公网访问

一、Flexus云服务器X实例简介 1.1 概述 华为云Flexus X实例是华为云推出的一款创新云服务器产品,它主要面向中小企业和开发者,旨在解决传统云服务中的痛点,提供更加灵活、高效的云服务体验。 华为深刻洞察了中小企业和开发者在云服务应用中遇…