gpt4 book ai didi

user-interface - 如何为 GUI 的 future 开发设计一个可重用的命令行程序?

转载 作者:行者123 更新时间:2023-12-03 12:44:02 24 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

6年前关闭。




Improve this question




在开发将来可能由其他人与 GUI 集成的脚本程序时,要记住哪些最佳实践?

可能的情况:

  • 我开发了一个花哨的 python CLI 程序,它从网络上抓取每一个 unicorn 图像
  • 我决定在github上发布
  • unicorn 迷程序员决定获取源代码并在其上构建 GUI
  • 他/她放弃了,因为我的代码不可重用

  • 如何防止第四步让 unicorn 迷程序员轻松构建他/她的 GUI?

    最佳答案

    您可以通过应用大部分分层(可能实现 MVP 模式)并将 CLI 本身视为 UI 来实现。

    更新

    此文本来自关于 Model-View-Presenter 的维基百科文章模式很好地解释了它。

    Model-view-presenter (MVP) is a user interface design pattern engineered to facilitate automated unit testing and improve the separation of concerns in presentation logic.

    • The model is an interface defining the data to be displayed or otherwise acted upon in the user interface.

    • The view is an interface that displays data (the model) and routes user commands (events) to the presenter to act upon that data.

    • The presenter acts upon the model and the view. It retrieves data from repositories (the model), persists it, and formats it for display in the view.



    要点是您需要在应用程序中处理关注点分离。
    您的 CLI 将是 View 的一种实现,而 unicorn 粉丝将为富客户端实现另一种 View 。 unicorn 粉丝会将他的观点基于与您的 CLI 相同的演示者。如果这些演示者不足以满足他的富客户端,他可以轻松添加更多,因为每个演示者都基于模型中的数据。反过来,该模型是应用程序所有核心逻辑的基础。设计一个好的模型本身就是一个完整的主题。例如,您可能有兴趣阅读 Domain-Driven Design。 ,即使我不知道它对您当前的应用程序的适用程度如何。但无论如何,这很有趣。
    如您所见,关于 MVP 的 wikipedia 文章也谈到了可测试性,如果您想为其他人提供一个健壮的框架来构建,这也是至关重要的。为了在您的代码库中达到高水平的可测试性,使用某种 Dependency Injection 通常是一个好主意。框架。

    我希望这能让您对需要使用的技术有一个大致的了解,尽管我知道这可能有点让人不知所措。如果您还有任何疑问,请不要犹豫。

    /克劳斯

    关于user-interface - 如何为 GUI 的 future 开发设计一个可重用的命令行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2613399/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com