![]() |
1
2
你所说的是 Marker Interfaces . 我在过去已经成功地使用了这种技术,但是我会质疑您在泛型类上设置的人工限制是否真的有必要。如果是这样的话,那么这无疑是一种快速的编译检查方法。 |
![]() |
2
1
在我看来他们没什么问题。它们的很多优点在于与(生成的)部分类相结合。 |
![]() |
3
1
我个人对接口的理解是,它在一个或多个对象之间形成公共契约。这个想法很简单,您可以使用接口构建代码库,而不必担心实现。我说过这是个有趣的问题,因为从技术上讲,你是在试图为合同提供信息。我想说,去吧。 |
![]() |
4
1
不,设计不错。对泛型参数提供合理的约束有助于维护代码的安全性和可读性。此外,您可以确定接口不会永远保持为空。 |
![]() |
5
0
如果这个接口是空的,为什么要创建它?每节课的内容是什么?有 任何 他们之间的共同点?如果这个问题的答案是否定的,那你为什么要为每个人制作一个接口呢? 如果你有一个很好的理由使一个空白界面,它可能是好的。但是考虑一下,看看是否可以将元素之间通用的任何东西放入该接口中。 |
![]() |
6
0
什么都没有。。。我想使用空白界面是不对的。只是,接口的重点是定义一组公共功能,这些功能的实现方式可能有所不同。
它不会使编码变得更容易,因为你正在有效地使用一个黑盒(
不过,老实说,如果我实现这样一个开放式体系结构,我会使用普通的
|
![]() |
insipidintegrator · 通过迭代器/指针访问命名空间? 6 月前 |
|
Ben · 如何使用带有部分应用的过滤器功能的角度材质日期选择器? 1 年前 |
![]() |
larn · 这是工厂模式还是战略模式? 1 年前 |
![]() |
Community wiki · 您对存储库模式的理解是什么? 1 年前 |