代码之家  ›  专栏  ›  技术社区  ›  Brian Lacy

数据处理的设计模式?(MVC替代)

  •  8
  • Brian Lacy  · 技术社区  · 14 年前

    作为一个PHP/Web开发人员,我非常喜欢MVC(模型视图控制器)。我喜欢建立一个坚实的基础上的应用程序,明确区分业务逻辑,演示逻辑和控制流程。

    但是,我也在服务器端的应用程序上做了很多工作,这些应用程序只处理数据并记录进程和任何相关结果(如导入脚本、数据迁移脚本、Web服务、TCP套接字服务器等)。在这些情况下,不需要一个大型的花哨的MVC框架。

    我意识到MVC仍然可以在这里应用,但它似乎是多余的。除了原始的过程方法或类对象的随机混搭之外,是否有任何特定的体系结构设计模式特别适合于数据处理、一次性运行和服务器守护程序类型的应用程序?

    4 回复  |  直到 14 年前
        1
  •  1
  •   Steven Mackenzie    14 年前

    如果我理解正确的话,您所说的应用程序在shell命令行之外没有用户界面。如果是这样的话,您仍然可以在软件体系结构级别使用MVC——您的视图将是微不足道的。同样,您的控制器也很简单,因为在模型和视图之间传播的操作很少。

    当然,对于一个微不足道的视图和控制器,它可能根本不是任何模式。我不认为这有什么问题(在你所说的层面上)。关键是采用基于接口的方法(就像使用MVC一样),这最终会提供更好的设计;如果将来需要,可以很容易地适应不同的用户界面或调用方式。

        2
  •  1
  •   Aivar    14 年前

    我想你应该先问问自己你想解决什么问题(用你正在寻找的模式)

    一旦你知道了这一点,你可能会在这里找到一些有用的东西:

    http://martinfowler.com/eaaCatalog/

        3
  •  1
  •   Fadrian Sudaman    14 年前

    因为它与数据处理相关,所以我假设您有某种类型的数据存储,您可以查看存储库和DTO(数据传输对象)体系结构模式。

    更一般地说,gof目录中的一些设计模式也适合您,例如singleton for run once、facade for abstracting the processing logic、strategy for different processing logic、state machine for the daemon

        4
  •  0
  •   Taha    14 年前

    我建议你先读这篇文章 Introduction to Design Patterns Using PHP

    这将帮助您理解并从此页中选择模式。 Design pattern