design-patterns相关内容

对可选参数建模的最佳方式

正如标题所说,在Scala中对可选参数建模的最佳方式是什么? 对于可选参数,我指的是执行函数体时不需要的值。 因为该参数存在默认值,或者该参数本身根本不需要(例如,配置或调试标志);请注意,在Java上,我可能会将null传递给这些参数。 这是Scala社区的常见问题解答,特别是新手制作的。 例如: 此处so:Implicit conversion from A to ..
发布时间:2022-07-19 11:30:56 其他开发

类之间的循环依赖:它们为什么不好,如何消除它们?

我觉得循环依赖(又称循环引用)意味着糟糕的设计并损害项目。我如何才能说服我的队友和经理? 我的项目是一堆依赖项。有没有一种方法可以消除错误的依赖,然后保持清晰度? 推荐答案 为什么循环依赖(CID)不好? 两个原因: 可维护性。 您希望您的代码是分层的,即您希望有一个自上而下的依赖关系图(该图显示所有箭头向下,没有向上箭头)。 如果您有CID,则您的代码不是分层的。 ..

处理大型数据二进制文件

我正在处理包含原始数据的大型二进制文件(每个文件大约2 GB)。这些文件具有定义良好的结构,其中每个文件是events的数组,每个事件是data banks的数组。每个event和data bank都有一个结构(header、data type等)。 从这些文件中,我所要做的就是提取我可能需要的任何数据,然后我只需分析和处理这些数据。我可能不需要所有数据,有时我只提取XType数据,其他只需要Y ..

中介者模式与发布/订阅

谁能指出两者之间的主要区别吗? 似乎,至少在概念上,这两者是非常密切相关的。如果我大胆猜测,我会说发布/订阅方法是中介模式的子集(因为中介不一定需要以发布/订阅的方式使用,但后者似乎需要一种中介对象)。那接近它了吗? 推荐答案 我如何描述不同之处在于,在Mediator中,您可能关心最终应用程序是否收到消息。因此,您可以使用它来保证谁在接收消息。而在pub/subs上,你只需发布 ..
发布时间:2022-06-16 21:12:45 C/C++开发

工厂设计模式;父项=新子项()

当我使用工厂模式时,当孩子有额外的属性/方法时,我不知道如何从它生成子类。工厂在确定要创建哪个子类时返回父类型,但当发生这种情况时,我不能像使用子类那样使用它返回的内容。 public abstract class Factory { public abstract Person getPerson(string type); } public class PersonF ..
发布时间:2022-05-23 16:10:37 C#/.NET

如何发送异步Http响应?

我已经创建了一个rest API,它接受请求并向客户端提供响应。但我的API依赖于第三方服务,它不是给出响应,而是回调我的另一个端点。为了发送服务,我需要等待收到回调。我如何才能做到这一点? 我需要发送响应的REST API。 @POST // @Produces(MediaType.TEXT_XML) // @Consumes(MediaType.TEXT_XML) pu ..
发布时间:2022-04-16 16:36:54 Java开发

Factory方法的命名约定是什么?

简介 MacApp Macintosh应用程序框架[App89]总是声明 将工厂方法定义为Class*的抽象操作 DoMakeClass(),其中Class是Product类。 这句话引出了关于工厂方法设计模式的命名约定的问题。 期望 我希望看到最佳实践或有帮助的示例,它们提供了清晰的工厂方法命名。 因为它可能依赖于一种语言,所以让我们考虑一组最流行的语言:C#、Ja ..
发布时间:2022-04-12 22:29:36 其他开发

通过使Singleton&;的getInstance()方法返回一个可观察的&;lt;来使其成为异步方法是个好主意吗?

我有一个单例,它需要几秒钟来实例化。它会使用户界面冻结。因此,我计划使getInstance()方法成为异步方法。编写以下代码是常见做法吗? /* * The singleton class */ public class Singleton { private static volatile Singleton instance; public static Obs ..
发布时间:2022-04-10 23:00:05 Java开发

用于字段的Python修饰器

我知道根本没有这回事。这就是为什么我在找一些很好的同类产品。上这节课: class MyClass: a = 5 b = "foo" c = False 我希望将字段a和b“分组”在一起,以便能够以某种方式迭代仅来自该组的成员。因此,如果有某种字段修饰符就好了,比如: class MyClass: @bar a = 5 @bar b = ..
发布时间:2022-04-07 13:18:01 Python

函数的符号模式

在Wolfram Research数学a中,可以定义类型的替换规则 sustitution = g_[arg___] -> g[Sequence @@ Reverse[{arg}]] 然后可以将其应用于涉及函数的不同表达式,结果如下: f[x, y] /. sustitution >> f[y,x] g[x1,x2,x3] >> g[x3,x2,x ..
发布时间:2022-04-06 16:37:49 Python

EJB与JPA控制器?

Sun的Pet store的Bluperint参考实现构建在JPA控制器模式之上。我没有发现任何官方的EJB蓝图。 您应该在什么时候选择EJB会话bean而不是简单的JPA控制器?您应该/可以同时使用两者吗? 另外,这两个选项是否都有任何服务器端验证模式?我知道JavaEE6在这方面有一些东西,但出于各种原因,我对JavaEE5模式感兴趣。 ejb 对于问题的第一部分,也许以下链接 ..
发布时间:2022-03-09 13:51:24 Java开发

微服务:聚合数据:有没有一些好的模式?

我有以下微服务体系结构的使用案例。 我的问题是,在当前情况下,我有3个微服务和一个APIGateway。 最后,网关在聚合(组合)来自3个服务的数据之前必须执行大量查询。因为这3个微服务仅提供基本数据集。 请查看图片了解更多详细信息! 这是个好式样吗?还有其他图案吗? 推荐答案 上述是微服务的常见问题-域分离。虽然每个服务在不同的域中执行任务,但它们包含与其他服 ..
发布时间:2022-02-28 10:55:11 其他开发

作为静电字段的单个实例与getInstance()方法中的静电变量

在this thread中,关于单例实例的描述如下: 静电变量可以是getInstance()函数的静电,也可以是Singleton类中的静电。这里有一些有趣的权衡。 这些权衡是什么?我知道,如果声明为static函数变量,则在第一次调用函数之前不会构造单例。我也读过一些关于线程安全的文章,但我不知道这到底需要什么,也不知道这两种方法在这方面有什么不同。 两者之间还有其他主要区别 ..
发布时间:2022-02-27 09:53:56 C/C++开发

域驱动设计:如何访问聚合根的子级

如果我有一个Order类作为聚合根和1000个行项目。 如何仅加载1000个行项目中的一个?据我所知,行项目只能通过Order类访问,并且具有“本地”标识。我是否仍要在OrderRepository中创建类似“GetLineItemById”的存储库方法? 编辑以评论答案: 目前我认为有一个一成不变的孩子是不合理的。如果我有一个具有多个地址、合同和更多子集合的Customer类,该怎么 ..
发布时间:2022-02-26 18:44:28 C#/.NET

以正确的方式避免循环依赖-NestJS

假设我有一个StudentService和一个LessonService,StudentService和LessonService,StudentService和LessonService分别用于将学生添加到课程中。在我的课程和学生解决程序中,我都希望能够更新此课程<;->学生关系。因此,在我的LessonResolver中,我有类似的内容: async assignStudents ..