我想将数据库模型与实际类分开。 但是无论子类类型如何,我都需要两个 static 函数来从数据库中获取数据。 这两个功能的实现在所有数据库模型中都是相同的。 pyright显示get()和get_all()函数中的cls没有db属性的错误。 ...
我想将数据库模型与实际类分开。 但是无论子类类型如何,我都需要两个 static 函数来从数据库中获取数据。 这两个功能的实现在所有数据库模型中都是相同的。 pyright显示get()和get_all()函数中的cls没有db属性的错误。 ...
我不熟悉开发干净的代码并尝试用原则来约束自己。 我的应用程序有 3 个用户实体,每个用户实体都有不同的数据源。 在身份验证逻辑方面,所有 3 个实体将使用相同的逻辑,除了来自数据源。 我现在正在做的是,我将每个实体的逻辑分为 3 个不同的类(为了不同的数据源),感觉我违反了 DRY 原则。 我曾经这 ...
我在网上看到过关于单一责任原则的例子。 他们总是以 IoC/DI 为例。 他们将代码从 class A 移至 class B,并传递 class B 作为参考。 请参阅下面的代码: 但是单一责任原则即将增加连贯性。 从理论上讲,上面的代码也将遵循单一责任原则,而无需传递对 class B 的引用, ...
我正在开发一个应用程序来训练清洁架构概念。 我有一个用户创建用例,其中一些信息以 multipart/formdata 形式传递,其中包括用户的头像。 在我的应用程序中,文件上传不是一个孤立的用例。 对于 User 实体,我只需要返回一个字符串,该字符串具有对图像的直接访问权限 url(在本例中,我 ...
单一责任原则(SRP) 说明了下一个: 一个模块应该只对一个 actor 负责要么一门课应该有一个而且只有一个改变的理由由此,我了解到一个函数只应该完成一个任务。 但是,当我想总是一个接一个地执行两个(或更多)函数并且我不想在没有另一个的情况下调用一个时会发生什么? 我举个例子: 我有这些功能 ...
我是一个爱好编码器,试图改进我的代码。 我倾向于创建整体类,并希望开始成为 SOLID 中的 S。 我在这里和其他地方做了一些阅读,但我正在努力了解最好的方法是什么。 我可以想到三种情况: 静态方法通过实例化以上的混合,但将完整的父类传递给依赖类(这是否有内存影响,因为它只是一个指针?)names ...
我实现了一个类EUMemberChecker ,它负责检查一个国家是否是欧盟的成员。 为了完成它的工作,该类包含一个方法public bool IsEUMember(string country) 。 用于检查一个国家是否是欧盟成员的数据存储在 PostgreSQL 数据库表中。 我想通过 DI ...
我经常对书中所说的“改变的理由”或“改变的轴心”感到困惑。 我有一个类可以让角色用手抓住一个物理对象。 可抓取对象本身是另一个知道如何获取这些“抓取点”的类,因此抓取器类知道将角色的手放在哪里。 我认为这看起来是对的,因为每个班级都有不同的职责。 但是它们是如此耦合,以至于它们只成为一个类几 ...
我正在阅读有关 SOLID 原则和打开/关闭原则的文本,它说:“该原则的主要思想是在实现新功能时防止现有代码中断” 破解代码是什么意思? ...
因此,我一直在研究设计模式,在单一职责原则的背景下,我尝试使用 Metrics Reloaded 和 JArchitect 在 Java 中计算方法缺乏凝聚力 (LCOM)。 这两个程序总是将 LCOM 计算为 1,尽管在某些情况下显然不是。 在这些程序中,即使是以下低内聚的标准示例也具有 1 的 ...
我想通过对 TODO 列表应用程序的这两个实现的贡献来了解您对面向对象编程原则的看法。 方案一:通过TodoListRepository获取对应的todoList对象,通过获取Object添加TodoItem 解决方案 2 通过 TodoItemRepository 添加 todoItem wit ...
使用单一职责模式时,我想知道显示网络响应(成功、错误、进度)的最佳方法是什么。 为每个请求存储 state 会在 viewModel 中创建如此多的状态,并且必须将如此多的状态传递给组件。 还有什么办法值得一试吗? ...
我得到以下 class: ...然后,这里有一些代码在流程结束时,我会: 我是否违反单一职责原则(SOLID 中的“S”)? 我的意思是,向 class 注入太多接口是否意味着 class 有太多责任? 提前致谢。 ...
我正在开发一个 springboot 项目,我正在开发一个需要多个步骤(几乎像算法)的功能。 为了遵循 SRP,我制作了一个单独的服务 class 来处理算法中的每个步骤。 现在我的主要服务 class 几乎用完了其他 9 个服务。 我怎样才能更好地设计我的课程? 我知道 class 比其他一些服 ...
请我的代码遇到一些问题它在控制台中完美运行,但 linter 不断失败,并出现以下错误。 这是错误 这是代码 ...
当我必须保证的过程非常复杂时,我总是有一个关于如何保证单一责任原则的问题。 我使用 3 层架构后端:控制器(我的 API 端点)| 服务(单一职责功能)| 数据(访问数据库) 假设我有一个由 4 个任务TasksA1 、 TasksA2 、 TasksA3 、 TasksA4组成的进程Proce ...
我正在尝试重构一些协调器代码。 协调器调用多个 API,然后解析/转换响应,将它们收集在一起并返回它们。 其中一个 API 调用返回一个响应,然后将其解析为 3 个不同的字段。 作为重构的一部分,我正在考虑使用存储库模式,以便 Orchestrator 不需要考虑调用 API 和解析(单一职责 ...
我将用一个真实的生活场景来解释我的观点。 我有一堆通知项,以及一个以 json 形式返回所有字段的 API。 假设这个 api 的路由是 /api/nots 您也可以指定要搜索的用户 ID,以查看它是否有任何通知。 所有通知都属于一个用户或一组用户。 因此,例如从上面的请求返回的 json 将 ...
我正在尝试为 Autocad 编写一个插件,在那里,他们有这些扩展字典,您可以在其中将数据保存到 Autocad object 中,这样当您关闭图形文件时,保存的数据仍然存在。 现在我需要 4 个函数来操作扩展字典: 存在 - 用于检查扩展字典是否存在 create - 用于创建扩展字典 set ...
我最近尝试了 TDD 方法,我真的很喜欢它。 您可以为指定的单元编写一些测试,模拟不同的行为、数据和模拟 object,允许您只检查一小段代码,而无需运行整个应用程序。 但我对单元可视化有一些疑问。 假设我们有一个简单的聊天应用程序,其中包含主页、大厅和聊天小部件组件(第 1 页)。 当您在处理聊 ...