【问题标题】:Query regarding design(interface and classes)关于设计的查询(接口和类)
【发布时间】:2013-06-19 05:45:40
【问题描述】:

我基本上是在编写一个代码,它读取一个文本文件,将它存储在一个字符串中,对字符串进行一些操作并将其显示在对话框上,然后在进行一些更改时写入文件。 现在我为 FileRead、FileWrite、StringHandling、LineHandling、Database 创建了单独的接口,并且我有一个实现这些接口的控制器类,我只是在 gui 中调用控制器类的实例。 我想问一下设计是否可以,或者我是否需要为每个接口单独实现一个类。

【问题讨论】:

    标签: class design-patterns interface


    【解决方案1】:

    我认为对于这么小的项目来说这是可以接受的,但通常我会认为它是糟糕的设计,原因有两个:

    • 您怀疑一个类实现所有这些接口可能是个坏主意。根据接口的不同,您将获得一个上帝类,它可以处理许多彼此没有任何关系的事情。在圈地方面,您基本上希望一个班级做一件事,或者更好地说只有一个职权范围。
    • 您的控制器类实现了接口这一事实也让我感到担忧。控制器类(在 UI 编程的意义上)不应该做业务逻辑。它应该以 UI 需要的方式提供方法。然后这些方法应该调用执行实际业务逻辑的类。他们最多可能会在 UI 和后端之间进行一些“翻译”,例如从 UI 收集所需的数据并将其转换为业务逻辑方法所需的任何内容。反之亦然:调用多个业务逻辑方法并聚合它们的结果。

    正如我对这么小的工具所说的那样,它可能被认为是可以的,但让你的架构直截了当 ;-)

    更新

    如果你遵循这两点,你仍然只需要一个控制器类。它可以引用执行您的逻辑的不同类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多