design-patterns 相关问题

设计模式是软件设计中常见问题的通用可重用解决方案。当您遇到设计模式实施问题时,请使用此标记。请勿在有关文本模式匹配的问题上使用此标记。在实现繁重的问题上使用此标记时 - 标记实现编写的代码语言。

需要帮助替换 C# 中的开关

我在.NET6中有一个控制台应用程序,它接收1个参数,并基于此,必须决定将执行哪个操作。起初,我将所有执行都作为静态方法以及所有内容......

回答 1 投票 0

重构对不同端点的重复 API 调用的正确方法

我有两种方法可以调用两个不同的端点。逻辑完全相同,但 API 端点必须保持独立。你会如何重构这个? 公开名单 我有两种方法可以调用两个不同的端点。逻辑完全相同,但 API 端点必须保持独立。你会如何重构这个? public List<Company> getAllCompanies(String authHeader) { long start = System.currentTimeMillis(); List<Company> companies = new ArrayList<>(); long next = 0; do { CollectionResponse<Company> result = hubspotClient.getCompanies(authHeader, maxBatchSize, next, false, new ArrayList<>()); next = Optional.ofNullable(result.paging()) .map(Paging::next) .map(Next::after) .orElse(0L); Envelope<Company> envelope = result.toEnvelope(); companies.addAll(envelope.items()); LOG.info("Loaded %d companies (next: %d, overall: %d)".formatted( result.results().size(), next, companies.size())); } while (next != 0); LOG.info("Loaded %d companies in %ds".formatted(companies.size(), (System.currentTimeMillis() - start) / 1000)); return companies; } public List<Contact> getAllContacts(String authHeader) { long start = System.currentTimeMillis(); List<Contact> contacts = new ArrayList<>(); long next = 0; do { CollectionResponse<Contact> result = hubspotClient.getContacts(authHeader, maxBatchSize, next, false, new ArrayList<>()); next = Optional.ofNullable(result.paging()) .map(Paging::next) .map(Next::after) .orElse(0L); Envelope<Contact> envelope = result.toEnvelope(); contacts.addAll(envelope.items()); LOG.info("Loaded %d contacts (next: %d, overall: %d)".formatted( result.results().size(), next, contacts.size())); } while (next != 0); LOG.info("Loaded %d contacts in %ds".formatted(contacts.size(), (System.currentTimeMillis() - start) / 1000)); return contacts; } 按照该示例,还有其他方法可以调用单独的公司和联系人持久层(它们必须保存在不同的表中)。 我尝试应用通用函数,但由此产生的混乱比重复的代码本身更难看。重构这段代码的正确方法是什么? 你为什么要这么做?由于一种方法是获取联系人,另一种方法是获取公司,因此最好将它们分开。

回答 1 投票 0

如何用c语言打印这个图案

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 这是要打印的图案 我尝试使用各种方法但无法获得确切的模式 PS:我是

回答 1 投票 0

我们可以通过在Java中使getInstance()方法同步来避免在单例模式中使用Volatile吗?

在大多数地方,这是单例设计模式所遵循的实现。 它利用关键字 volatile 来防止部分对象创建的问题(建立发生在重新之前...

回答 1 投票 0

类设计模式的接口....是否有人使用类设计模式的接口

有没有 接口到类设计模式。 目前我加入了一家新公司。他们的设计模式是 “类接口”设计模式。 但我不知道任何类的接口

回答 1 投票 0

为可以返回各种响应的函数创建接口时,最好的设计模式是什么?

我正在为 GNU/Linux 命令编写解析器。例如: 从 pydantic 导入 BaseModel 从 mmiac.core.system 导入 run_cmd 从 mmiac.core.parsing 导入 create_key 类 HostnamectlResponse(

回答 1 投票 0

是否有用于发出命令、命令+响应的设计模式(两者都有不同的参数)

我正在尝试找出一个巧妙的解决方案来解决我在Python中遇到的这个问题。 我想从 Python 发出以下命令(例如): 导入子流程 结果 = subprocess.run(["ls"], shell=

回答 1 投票 0

如何更高效地管理 PySpark 中的选项

让我们考虑以下 pySpark 代码 my_df = (spark.read.format("csv") .option("标题","真") .option("inferSchema&q...

回答 4 投票 0

C# 中的类型状态模式

我想在 C# 中实现 typestate 模式。我尝试过类似的事情: 接口打开{} 界面关闭{} 抽象类 Foo { } 类 Bar 其中 T:闭合 { } 类酒吧&...

回答 1 投票 0

实例化大量不同类型的对象

假设有接口: 类型 CustomMetrics 接口 { 更新()错误 初始化()错误 } 这个接口将有许多不同的实现(结构体),每个实现都会被交付...

回答 1 投票 0

当每个特征对于每个订阅具有不同的阈值数量和不同的时间间隔限制时,如何对订阅特征进行建模

我正在创建有 3 个订阅计划的 Spring Boot 应用程序。 基本的 亲 无限 我有两个操作(1.CREATE_POST、2.GENERATE_POST)应该对每个计划进行限制。 对于基本计划用户应...

回答 1 投票 0

如何解析 Android 中包含 1 个多种(在我的情况下为 2 个)类型对象的 API JSON 响应,我正在使用 Retrofit 进行 API 调用

'所以我搜索得足够多了,我确定不存在这样的问题。我想知道这怎么可能不是其他人遇到过的问题,还是我太菜鸟了? 所以API响应如下 { ”

回答 1 投票 0

MVC 的替代方案 [已关闭]

模型视图控制器的替代“设计方法”是什么? MVC 似乎很流行(SO 是用它构建的,我知道这么多),但它是唯一使用的方法吗?

回答 8 投票 0

过渡、边框颜色和:焦点不适用于输入元素

我正在为电子商务网站创建一个类似 Google 的搜索框。但是,border-color、transition 和:focus 属性不起作用。我将分三部分具体说明问题- 边框颜色:十六进制

回答 1 投票 0

.net 中是否有一个标准类来表示“范围”?

我们有很多代码,其中包含价格、利润、成本等内容的“最小值”和“最大值”。目前,这些代码作为两个参数传递给方法,并且通常具有不同的属性/方法...

回答 4 投票 0

具有多态性的OOP命令设计模式

我正在尝试使用OOP设计结构和原则为用户系统制作一个类似命令的界面。 所以我有一个抽象的 User 类和从它派生的不同类型的用户。 然后我就有了

回答 1 投票 0

如何编写自己的逻辑来使用Unity初始化属性?

假设您有 A 类和 B 类。 这两个类都有一个私有变量: 私人商店_store {获取;设置} A级 A级 { 私人商店_store {获取;设置} 构造函数() { 初始化(pa...

回答 1 投票 0

在库 API 中使用字符串与类型

我正在设计一个我希望其他人使用的库,其中系统中的“事物”可以在运行时动态分配给它们任意属性。就我而言,属性是

回答 2 投票 0

C#数据处理设计模式:对象通过ORM存储在数据库中,直接与数据库一起工作?

考虑一个存储商店库存的应用程序,其中包含数百种商品类型和每种商品的数量。我目前有一个数据库可以处理这个问题,...

回答 1 投票 0

如何计算短语内的模式?

例如: /A B C D/ 我知道这个命令: awk -FS'/' '{print $1}' 打印第一个图案:A 但是,我如何计算该短语中“/”的数量?输出将是:5

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.