SOLID是Robert C. Martin介绍或记录的五种面向对象设计原理的首字母缩写。在有关任何单个原则或其与其他OOD概念的关系的问题上使用此标记。如果适用,还可以使用五个单独的标签。
分解方法/函数只做一件事被认为是一种很好的做法,因为它可以带来更可维护和可读的代码,但在许多情况下会增加操作数量。如何实现...
在Nestjs中,我有一个模块,它使用useFactory基于configValue动态创建类 该模块中没有专门的服务,而是返回一个依赖于配置的服务,
在这个例子中,我是否违反了LSP?因为直接用子类的实例替换最后两行会给我一个错误(因为工资未初始化)? person_1 = 员工('布拉德') 个人...
为什么在Sheet View的构造函数中传递ViewModel会导致内存泄漏?
我的目标是遵守依赖倒置原则。这意味着 SheetView 应该依赖于 Sheet ViewModel 的协议。 问题是当我将 ViewModel 传递给 Sheet View 的构造函数时,...
我创建了这个应用模板方法设计模式的 UML 图: 这两个具体类共享模板方法 createTask 和 CompleteTask 中的大量逻辑,但
在我的应用程序中,我正在处理 IMyInterface 实例的列表。不是全部,但其中一些还实现了 IAnotherInterface。请注意,IAnotherInterface 不是从 IMyInterface 派生的。
我正在使用 JSON API 资源创建 Rails 应用程序。它有雇主和客户。雇主模型具有名称、网站和支持电子邮件作为属性。电子邮件使用 JSON 存储
我正在尝试编写一个被调用的通用方法,并根据对象类型设置指示器。 它会打破任何坚实的原则吗? 有更好的方法吗? 我正在研究...
我最近花时间阅读 SOLID 原则,并决定看看我使用的代码库如何比较。 在我们的一些代码中,有一个存储库(存储库 A)。当录音时...
我有一个多模块项目,我想在两个不同的模块中将数据和域逻辑彼此分离。 (目前它们都在核心模块中):https://github.com/alirezaeiii/...
在Java中,当我们尝试执行以下情况(多态性)时,它会给我们一个编译错误/异常,这是预期的。但在打字稿中它不会给我们错误。为什么?。 虽然我们不是
考虑以下 C# 示例,我在许多语言中都看到了向系统注册用户的用例,通常我总是看到单个执行或调用函数来执行使用...
考虑以下 C# 示例,我在许多语言中都看到了向系统注册用户的用例,通常我总是看到单个执行或调用函数来执行使用...
如果需要实例化具有默认值的依赖项以便稍后更新它们,那么应用依赖项反转是否有意义?
在此示例中,数据库获取返回图像的 get_image 方法。为了遵守 DIP,该示例包含所有必要的接口。 导入 abc 类 ImageInterface(abc.ABC): “……
我有一个 csv 解析器应用程序,它使用 Header 类型来解析 csv 的标题并将它们保存在成员变量中。 CSVParser —-> 使用标头(名称、区域、价格) 现在,我有一个新的要求...
如何在遵循 SOLID 原则的同时设计具有延迟初始化和空对象模式的复合模式?
树的Python示例展示了复合模式和延迟初始化的最初想法。 类节点: def __init__(self, val): self._val = val self._lchild = 无 ...
我试图实施 SOLID 原则。这次是Python中的依赖倒置 - Django
TypeError:SignInView.init() 缺少 1 个必需的位置参数:'api_response_factory' 我尝试使用抽象方法但失败了。我对 SOLID 实现很陌生,对 python 也很陌生,可以
我最近在 Amazon sde2 底层设计面试中被问到了以下问题,我在面试中展示了我的解决方案。我这一轮就被拒绝了。你能帮我解决一下吗...
类项目 { // 民众: // 虚拟 int GetDamage() const { return -1; } }; 武器类别:公共物品 { 民众: 武器(int InDamage) :损坏(损坏中) { } int GetDamage()