Design patterns 使用空白接口是一种糟糕的设计吗?

Design patterns 使用空白接口是一种糟糕的设计吗?,design-patterns,interface,Design Patterns,Interface,我正在考虑创建一个接口,并将其应用于某个命名空间中的所有对象 我将使用这种方法的场景:我想创建这些对象的泛型处理程序,并且我想强制泛型参数只接受实现这个特定接口的类型 这是一个糟糕的设计,还是可以接受空白接口?在我看来,它们没有什么问题。它们的许多优点在于与(生成的)分部类相结合。如果这个接口是空的,为什么要创建它?每节课的内容是什么?他们之间有什么共同点吗?如果这个问题的答案是否定的,那么为什么要为每个问题创建一个接口 如果你有一个很好的理由来创建一个空白的界面,它可能是好的。但是想想看,你是

我正在考虑创建一个接口,并将其应用于某个命名空间中的所有对象

我将使用这种方法的场景:我想创建这些对象的泛型处理程序,并且我想强制泛型参数只接受实现这个特定接口的类型


这是一个糟糕的设计,还是可以接受空白接口?

在我看来,它们没有什么问题。它们的许多优点在于与(生成的)分部类相结合。

如果这个接口是空的,为什么要创建它?每节课的内容是什么?他们之间有什么共同点吗?如果这个问题的答案是否定的,那么为什么要为每个问题创建一个接口


如果你有一个很好的理由来创建一个空白的界面,它可能是好的。但是想想看,你是否可以把元素之间的共同点放进接口中。

我个人对接口的理解是,它在一个或多个对象之间形成公共契约。这个想法很简单,您可以使用接口构建代码库,而不用担心实现问题。话虽如此,这是一个有趣的问题,因为从技术上讲,你是在试图加强合同。我想说,去吧

什么都没有。。。我想使用空白界面是错误的。只是,接口的要点是定义一组公共功能,这些功能的实现方式可能有所不同

它不会使编码变得更容易,因为您实际上是在使用一个黑匣子(
对象
,有些人可能会这样称呼它)


老实说,如果我要实现这样一个开放式的体系结构,我会选择常规的
对象
不,这是一个不错的设计。对泛型参数提供合理的约束有助于维护代码的安全性和可读性。此外,您可以非常确定界面不会永远保持为空。

您所说的操作称为


我过去曾成功地使用过这种技术,但我想问一下,您对泛型类施加的人为限制是否确实必要。如果是这样的话,那么这肯定是一种快速且经过编译检查的实现方法

。。。同时,我不会仅仅为了接口而在接口中添加额外的信息。定义越不松散,接口越好。对于额外的功能性义务,您可以始终使用多个接口。我不会为每个接口创建一个接口,只为一个接口覆盖某个命名空间中的所有对象。我的问题的假设是,它们之间确实没有共同点。重复一遍@Cpfohl:我的问题似乎与你链接到的问题非常相似。另一个问题似乎写得比较晦涩(检查“查看”次数),回答的内容也不太清楚。不要告诉“你必须把它取下来!”:)我只是指出一下,以防你从中得到任何额外的信息。