繁体   English   中英

设计模式推荐

[英]Design Pattern recommendation

我正在开发一个将在两个不同的办公室运行的应用程序。 UI 需要保持一致,但是 UI 上的某些按钮会根据运行应用程序的办公室以及这些按钮背后的功能逻辑而改变。 推荐哪种设计模式在 Python 中编写以下代码? 目的是能够重用为两个办公室开发的应用程序的组件,而无需维护重复的代码。

用一个非常简单的例子来帮助说明:

示例用户界面

在随附的屏幕截图中 - 如果应用程序在 Office A 中运行,则仅显示“联系我们”及其自己的代码逻辑,但是如果应用程序在 Office B 中运行,则同时显示“联系我们”和“让我们一起工作”及其自己的代码逻辑拥有与 Office A 不同的独立代码逻辑。

谢谢

您可以尝试提取不同的行为以分离模块或函数,并根据您的运行时配置导入或调用适当的行为。 一个简单的方法是将 map 当前运行时的名称改为 function 名称,例如:

def show_contact_office1():
    # display buttons and set up callbacks

def show_contact_office2():
    # display some other buttons

contact_sections = {
    'office1': show_contact_office1,
    'office2': show_contact_office2,
}

def show_page(config):
    current_office = config.get_office()
    show_contact = contact_sections[current_office]
    show_contact()

如果有许多这样的变量组件,您可以将它们包装到 class 中,默认实现作为父类,特定覆盖作为子类。 然后在您的代码中实例化适当的 class,如上所示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM