solid-principles 相关问题

SOLID是Robert C. Martin介绍或记录的五种面向对象设计原理的首字母缩写。在有关任何单个原则或其与其他OOD概念的关系的问题上使用此标记。如果适用,还可以使用五个单独的标签。

组合优于继承 - 代码重复

我希望能够对如何正确实现“组合优于继承”进行一些澄清。我认为我已经掌握了理论,但在实践中我很难理解它如何不会导致

回答 1 投票 0

组合优于继承 - 代码重复

我希望能够对如何正确实现“组合优于继承”进行一些澄清。我认为我已经掌握了理论,但在实践中我很难理解它如何不会导致

回答 1 投票 0

这是否违反了 LSP - 后置条件规则

想知道我是否违反了里氏替换原则 - 后置条件规则, 公共类进程控制器 { 公共虚拟词典 GetRunningProcess() {...

回答 1 投票 0

SOLID原则:在超类中提取代码

在我的应用程序中,我有 N 个子类,它们都扩展了一个超类。每个类都有自己的序列化实现,但它们共享一些通用代码。例如: 类序列化器 { 连载...

回答 1 投票 0

如何为需要初始化的具体类实现依赖倒置和接口隔离?

上下文 据我了解,SOLID OOP的依赖倒置和接口隔离原则告诉我们根据接口编写程序,而不是内部细节。所以,我很...

回答 1 投票 0

我们微服务的数据库策略

我们目前正在规划计费微服务,由于某些公司政策,在设计数据库方面面临困难。我们正在考虑三个选择: 实施不同的

回答 1 投票 0

里氏替换原则:对子类型附加功能的混淆

早些时候,我正在学习 SOLID 原则,并尝试利用这些原则来获得更清晰和可维护的代码。 我正在使用 flutter 开发一个社交应用程序,当然有帖子......

回答 1 投票 0

是否需要依赖倒转来保证调用者和被调用者之间的解耦?

我试图通过本教程中的一些简单但具体的代码和类(在 python 中实现)来理解依赖倒置原理(DIP)。我正在总结它(用我自己的com...

回答 1 投票 0

如何将单一职责原则应用于服务类

假设我们正在设计一个 UserServiceImpl 类,它执行 CRUD(创建、读取、更新和删除)操作。在我看来,创建、读取、更新和删除是类更改的四个原因。 D...

回答 4 投票 0

对于具有两种类型(一种可编辑,另一种不可编辑)的实体,我应该如何应用 SOLID 原则

我有一个实体(比如 E1)和一些与其关联的属性。类似的实体(E2)表示它具有与 E1 相同的所有属性,但唯一的区别是编辑性质。 E1不是edi...

回答 1 投票 0

一本学习 SOLID 原则的书

我想通过实践学习 SOLID 原则,并在代码中实现它。能推荐一下这方面的书吗(如果是用spring boot或者java的就太好了)。 我已经从理论上学到了它,但我

回答 1 投票 0

将 OOP 原则应用于微服务

在微服务架构中,主要规则是在各个设计级别(包括数据库和领域模型)拥有自治服务。然而,在一个应用程序中,类(mo...

回答 1 投票 0

在子类型中使用额外的构造函数参数违反了 LSP 原则

当我注意到这个答案时,我一直在阅读里氏替换原理。它有一个 Circle 和一个 ColoredCircle 类型,其中 ColoredCircle 的构造函数需要一个额外的参数; c...

回答 4 投票 0

GoF 设计模式与 SOLID 之间的联系

我有兴趣知道哪种 GoF 设计模式可以直接转化为特定的 SOLID 原则?例如,我认为(在我看来)策略模式可以转化为依赖反转......

回答 3 投票 0

分解方法导致更多操作

分解方法/函数只做一件事被认为是一种很好的做法,因为它可以带来更可维护和可读的代码,但在许多情况下会增加操作数量。如何实现...

回答 1 投票 0

如何在nestjs中正确使用工厂模式

在Nestjs中,我有一个模块,它使用useFactory基于configValue动态创建类 该模块中没有专门的服务,而是返回一个依赖于配置的服务,

回答 2 投票 0

Python理解里氏替换原理

在这个例子中,我是否违反了LSP?因为直接用子类的实例替换最后两行会给我一个错误(因为工资未初始化)? person_1 = 员工('布拉德') 个人...

回答 4 投票 0

为什么在Sheet View的构造函数中传递ViewModel会导致内存泄漏?

我的目标是遵守依赖倒置原则。这意味着 SheetView 应该依赖于 Sheet ViewModel 的协议。 问题是当我将 ViewModel 传递给 Sheet View 的构造函数时,...

回答 1 投票 0

这个UML图是否违反了接口隔离原则?

我创建了这个应用模板方法设计模式的 UML 图: 这两个具体类共享模板方法 createTask 和 CompleteTask 中的大量逻辑,但

回答 1 投票 0

处理方法内部过滤与外部过滤

在我的应用程序中,我正在处理 IMyInterface 实例的列表。不是全部,但其中一些还实现了 IAnotherInterface。请注意,IAnotherInterface 不是从 IMyInterface 派生的。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.