![]() |
1
4
我认为这两种方法都可以,但是如果您不想知道正在生成哪种类型的报告,那么我相信枚举方法是最好的。就像这样:
supose您在数据库中持久化一个Person实例,稍后再检索它——如果您使用poli吗啡,则不需要任何开关wathsoever。你唯一需要做的就是 调用create()方法。像:
因此,如果您依赖于polimorphism,则不需要请求工厂显式地获取cvs/html/pdf,而将工作留给枚举本身。但是,当然,有些情况下您可能需要使用一个或另一个,尽管我倾向于定期使用枚举方法。 |
![]() |
2
3
使用枚举(例如报表创建)可以获得什么好处?如果您有工厂方法,那么您将创建一个csvreport实例(比如说),如下所示:
|
![]() |
3
2
看看 Enum with Visitor Pattern . 使用这种方法,您将能够动态地向枚举添加功能,而不必污染枚举本身。 |
![]() |
4
1
Joshua Bloch(公认的Java专家)实际上在他的书《第17页的有效Java第二版》中推荐了这种方法:用私有来强制SuntLon属性 构造函数或枚举类型。 |
![]() |
H.v.M. · 为最后一个枚举值指定不同的变量值 2 年前 |
|
JimmyDiJim · 在声明后定义枚举变量 7 年前 |
![]() |
Eli K · 语法错误,插入“{”以完成枚举体(在类的末尾) 7 年前 |
![]() |
Vivek Shukla · 在中间添加枚举 7 年前 |
![]() |
DannyD · 如何访问typescript中的枚举名称 7 年前 |