我基本上是在编写一个代码,它读取一个文本文件,将其存储在一个字符串中,对字符串进行一些操作并将其显示在对话框中,然后在进行一些更改时写入文件。现在我已经为 FileRead、FileWrite、StringHandling、LineHandling、Database 制作了单独的接口,并且我有一个实现这些接口的控制器类,我只是在 gui 中调用控制器类的实例。我想问一下设计是否正常或我需要为每个接口一个单独的类实现吗?
问问题
33 次
1 回答
1
我认为对于这样一个小项目来说这是可以接受的,但通常我会认为它是糟糕的设计,原因有两个:
- 正如您所怀疑的那样,实现所有这些接口的类可能不是一个好主意。根据接口的不同,您将获得一个上帝类,它可以处理许多彼此没有任何关系的事情。在封闭方面,您基本上希望一个班级做一件事,或者更好地说只有一个职权范围。
- 您的控制器类实现接口的事实也让我感到担忧。控制器类(在 UI 编程的意义上)不应该做业务逻辑。它应该以 UI 需要的方式提供方法。然后这些方法应该调用执行实际业务逻辑的类。他们最多可能会在 UI 和后端之间进行一些“翻译”,例如从 UI 收集所需的数据并将其转换为业务逻辑方法所需的任何内容。反之亦然:调用多个业务逻辑方法并聚合它们的结果。
正如我对这么小的工具所说的那样,它可能被认为是可以的,但让你的架构直截了当 ;-)
更新
如果您遵循这两点,您仍然只需要一个控制器类。它可以引用执行您的逻辑的不同类。
于 2013-06-19T06:23:54.173 回答