我使用的 UI 框架不遵循严格的 MVC 设计。我创建一个组件并添加适当的属性来“设置”该类实例的“样式”。一些伪代码:
Button bu = new Button();
bu.setCaption("Something");
bu.addClickListener(...);
bu.setAnotherProperty(1);
但是,我什么时候决定创建一个额外的类而不是整个 setter block ?
喜欢(伪代码):
public class MyButton extends Button {
this.setCaption("Something");
this.addClickListener(...);
this.setAnotherProperty(1);
}
总是这样做是一个好习惯吗?一般来说这样做是一种不好的做法吗?或者是否存在一种特殊情况,人们应该决定创建一个类而不是一个巨大的 setter block ?
最佳答案
您的MyButton
实际上并不是(至少基于显示的代码)特殊类型的按钮。它只是一个带有以某种方式设置的一些参数的按钮。基于此,我可能不会创建一个单独的类,而是创建根据不同规范构建按钮的工厂方法。
这还有一个额外的好处,如果您突然意识到需要两种类型的“特殊”按钮,您可以添加另一个工厂方法,而不是创建另一个基本上仍然只是一个 Button
的类一些额外的化妆品。
因此,我不会使用 Button b = new MyButton();
,而是使用类似(自由实现样式)的 Button b = ButtonFactory.myButton();
>.
关于java - 我应该使用额外的类或设计实例的样式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33493000/