繁体   English   中英

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

[英]Design Pattern for Data Processing? (MVC alternative)

作为一个PHP / Web开发人员,我是MVC(模型-视图-控制器)的忠实拥护者。 我喜欢在坚实的基础上构建应用程序,该应用程序绝对将业务逻辑,表示逻辑和控制流分开。

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

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

我想您首先要问自己要解决的问题是什么(使用您正在寻找的这些模式)

知道这一点后,您可能会在这里找到有用的信息:

http://martinfowler.com/eaaCatalog/

由于它与数据处理相关,因此我假设您具有某种数据存储,因此可以查看存储库和DTO(数据传输对象)架构模式。

更一般而言,GoF目录中的某些设计模式也将适合您,例如Singleton一次运行,Facade用于抽象处理逻辑,不同处理逻辑的策略,State Machine可能适用于守护程序

如果我理解正确,那么您正在谈论的应用程序没有外壳程序命令行以外的用户界面。 如果是这种情况,您仍然可以在软件体系结构级别使用MVC-您的View只是简单的。 同样,您的Controller也会很琐碎,因为在Model和View之间传播的动作很少。

当然,对于琐碎的View和Controller,它可能根本不是任何模式。 我没有看到这个问题(在您所谈论的水平上)。 关键是采用基于接口的方法(就像使用MVC一样),这最终将倾向于提供更好的设计。 如果将来需要的话,可以很容易地适应不同的用户界面或调用方式。

我建议您首先阅读本文,了解使用PHP设计模式的简介。

然后,这将帮助您理解并从此页面中选择模式。 设计模式

暂无
暂无

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

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