在哪里放置我的函数?进入我的母语 Gui 还是进入我的演示者?
Where to place my function? Into my native Gui or into my presenter?
我有以下情况:我在Gui层中有Button和PreviewButton,他们有一个名为BasedButton的公共部分。Button 只知道 IButtonPresenter,即 ButtonPresenter 的界面。按钮应该没有逻辑,演示者可以包含一些逻辑。问题是PreviewButton是如此简单的类,以至于它不需要任何演示者。除了一件事:hasLed(( 函数,它根据按钮类型(简单的开关大小写(确定按钮和预览按钮是否有 led。这个常见的 hasLed(( 函数应该在哪里?我的想法:
PreviewButton也应该有演示者,hasLed((函数应该在Button和PreviewButton的演示者的公共部分。问题:似乎过于设计,只针对这一个功能,我应该介绍演示者。
把它这个逻辑:hasLed((放入BasedButton(在Button和PreviewButton的共同部分(。问题:我试图避免在我的母语 Gui 中加入任何逻辑。
创建一些命名空间(或使用按钮类型枚举命名空间!(并将这个简单的函数作为内联函数放入其中。问题:"逻辑"被放在一个"奇怪"且不期望的类中。
将hasLed((函数放入我的演示器层中的管理器类之一中。优点:所有本机 Gui 类都可以访问管理器界面。并且代码保持通用(没有代码重复(。缺点:我的经理有这样的职能似乎有点奇怪。
其他想法?
也许现在我会选择第四个...
我会选择选项 1。这不是过度工程化(而试图在界面级别上区分 PreviewButton 和 Button 对我来说确实看起来像是过度工程(,它只是样板,但你可以通过这种方式避免不必要的设计复杂性。
相关文章:
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 在哪里放置我的函数?进入我的母语 Gui 还是进入我的演示者?
- Qt GUI使用Qfiledialogbox和qlabel显示视频,这是我的代码
- 为什么将鼠标悬停在静态 Win32 控件上会增加内存并删除我的 GUI?
- 当我使用 GUI 开发 QT 动态库时,如何查看我的 QT UI?
- 如何将选项卡添加到我的选项卡控件(WIN32 API C++ GUI)
- 我如何在C#GUI中调用我的C 程序
- 如何使用GUI将外部库和项目导入到我的C++项目中
- 为什么我的Qt应用程序在执行时不显示GUI?
- 如何使我的 Windows API GUI 代码更加面向对象
- 我的线程工作不好,它给出了所有结果,最后没有一个接一个,GUI 在线程运行期间挂起?
- 我的Java GUI与我的超酷专有dll接口.如何防止第三方与此 dll 接口
- 如何在 Windows 资源管理器中嵌入我的 GUI
- 我的 GUI 的模板化小部件系统出现问题
- 我如何让我的Qt控制台应用程序与另一个Qt gui应用程序通信
- Qt GUI应用程序可以在我的电脑上运行,但不能在其他电脑上运行
- 用户界面-我应该使用哪个工具包为现有的c++代码制作一个易于编辑、外观现代的GUI
- 用户界面-我的项目需要GUI,它有用C++(GNU)编写的代码,并涉及hash_map数据结构
- 从我的程序通过 gui 控制其他应用程序
- 如何在 GUI 输出窗口而不是 Visual Studio 2015 中的 cmd 控制台上显示我的C++程序输出