软件设计和架构的坚实原则 (2023)

Solid Principles (2023) for Software Design & Architecture

掌握软件设计和软件架构的 SOLID 原则,并以 C# 面向对象设计编写干净的代码

你将学到什么

  • 用于软件设计和架构的 OOP 面向对象编程的坚实原理
  • 利用扎实的原理知识识别软件代码中的不良设计
  • 使用坚实的原则实施软件实践
  • C# 中可靠的设计原则实现
  • 学习单一职责原则SRP
  • 学习开闭原理OCP
  • 学习里氏替换原理LSP
  • 了解ISP接口隔离原理
  • 学习依赖倒置原理DIP
  • 学习控制反转 IOC
  • 学习依赖注入DI
  • 常用的软件设计原则,如 DRY、KISS、GRASP、单一事实来源等

要求

  • C# 或 java 或任何面向对象编程语言的基础知识

描述

掌握软件设计和软件架构的 SOLID 原则,并以 C# 面向对象设计编写干净的代码

在本课程中,我们将学习面向对象编程 OOP 软件设计和软件架构的 SOLID 原则,我们将首先尝试了解:

SOLID 原则最初由 Robert martin 在《敏捷软件开发、原则、模式和实践》一书中阐述和提出。

坚硬的 

什么是 SOLID 原理 SOLID

SOLID 原理如何在 C# 和 Java 等面向对象编程语言中发挥作用(附示例)

为什么坚实的原则很重要

如何在现实生活项目和示例中应用和实施 SOLID 原则。

如何使用 SOLID 设计干净的代码

扎实原则的编码。

我们还将涵盖有关 SOLID 原则的所有面试问题

涵盖的主题:

单一责任原则SRP 

什么是面向对象编程语言(如 C# .net 和 Java)中的单一责任原则 SRP 并附有示例。

为什么单一责任原则 SRP 很重要

为什么使用、需要单一职责原则SRP 

如何使用实施单一责任原则SRP 

开闭原理 OCP

什么是面向对象编程语言(如 C# .net 和 Java)中的开闭原则 OCP 并附有示例。

为什么开闭原则 OCP 很重要

为什么使用OCP,需要开闭原则

如何使用OCP实现开闭原则 

里氏替换原理 LSP

什么是面向对象编程语言(如 C# .net 和 Java)中的 LisKov 替换原理 LSP 以及示例。

为什么 LisKov 替换原理 LSP 很重要

为什么使用,需要LisKov替换原理LSP 

如何使用实现 LisKov 替换原理 LSP 

接口隔离原理 ISP

什么是接口隔离原则 面向对象编程语言(如 C# .net 和 Java)中的 ISP 并附有示例。

为什么接口隔离原则 ISP 很重要

为什么要使用接口隔离原则ISP

如何使用ISP实施接口隔离原则

依赖倒置原理DIP 

什么是面向对象编程语言(如 C# .net 和 Java)中的依赖倒置原理 DIP 并附有示例。

为什么依赖倒置原则 DIP 很重要

为什么使用、需要依赖倒置原则DIP

如何使用实现依赖倒置原理 DIP。

依赖注入DI

什么是依赖注入DI

使用和实现依赖注入。

使用 DI IOC 容器(如 Unity 容器)进行依赖注入 

控制反转 IOC

什么是控制反转。

如何使用和实现控制反转

依赖注入和控制反转 DI 与 IOC 之间的区别

依赖反转原理 DIP 与依赖注入 DI 与控制反转 IOC 之间的区别

除了上述 SOLID 原则之外,我们还将看到软件工程/信息技术/计算机科学领域中其他最常用的原则,它们是:

DRY不重复原则

KISS 原则 保持简单 愚蠢

GRASP(通用责任分配软件模式)在某种程度上我们会理解信息专家

Yagni  你不会需要它。

机会成本原则

预先进行大设计

预先进行粗略设计

单一事实来源

最小惊讶原则

所有这些原则我们将从头开始学习,并在实时项目案例研究示例中学习,我们将开发名为“员工管理门户”的现实项目,我们将在编写此案例研究的过程中详细了解每个原则。

这个案例研究将帮助您发展设计思维。我们本案例研究的主要目标是让您了解 SOLID 原理,本案例研究我们将使用 oop 面向对象编程语言(如 C#)进行编码,如果您不了解 C# 也没关系,因为我们将使用以下概念:在所有编程语言中都很常见,如果您了解 JAVA、JAVASCRIPT、ANGULAR、REACT、TYPESCRIPT、SWIFT、PYTHON 那么您也可以轻松学习本课程。

本课程适合谁:

  • 软件开发商
  • 刚开始从事IT行业的人
  • 参与设计和架构软件的人员
  • 信息技术工程师
  • 计算机科学工程师
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。