2010-02-25 54 views
-1

可以/应该在SVN或HG类型CLI应用程序中使用MVC吗?如果是这样,一个人会怎么做呢?可以/应该在SVN或HG类型CLI应用程序上使用MVC吗?

我一直在试图拿出一个设计,我来是MVC和HG/SVN类型的接口根本没有一起工作的结论;他们服务于不同的目的。

只是要清楚,我的意思是由汞/ SVN接口类型是发出一个命令来运行程序,运行和终止:

hg commit -m"my message" 

svn up 
+0

这可能是有帮助的:你尝试过了TortoiseSVN或TortoiseHg ?我觉得他们很容易使用。 – 2010-02-25 22:16:33

+0

@迈克尔:这与我的问题无关。我使用HG/SVN接口作为我正在开发的类程序的应用程序的模型。 – 2010-02-25 22:22:01

回答

2

是什么HTTP?你发送一个命令到服务器。该命令是“让我第X页”。

什么是CLI?您发送命令到服务器。该命令是“向我展示事物Y”。

在内核级

那么,这些概念都非常相似:你的命令; “服务器”将该命令解释为针对某种“模型”。然后,它使用某种逻辑(控制器)变形模型并将其呈现给您(视图)。

除非你的CLI应用程序很简单,我假设它有某种状态。例如,您可以进入屏幕A,并从列表{A1,A2,A3}中选择一条记录A1。这些记录可能来自数据库或平面文件。

这意味着什么在Web应用程序?您导航到一个页面;该页面会根据某个模型向您显示(有一个类可帮助您与数据库进行交互并获取记录列表)。然后它由一些控制器转换成HTML。然后在您的视图中进行样式设置(HTML <表格>)。

会是什么在CLI应用程序是什么意思?完全一样的东西。除了你的“意见”将是显着更简单的(而不是一个单独的花哨的HTML模板文件,你可能有一个的sprintf() - 交易类型)

+0

MVC不仅适用于HTTP。它始终用于非网页应用程序。首先想到的是可可触摸。 – 2010-02-25 22:18:25

+0

既然您投票'为'这个想法,你会如何看到视图和控制器?是否有一个视图(代表CLI)和一个控制器来控制CLI视图?或多个视图/控制器? – 2010-02-25 22:20:19

+0

是的,显然,MVC也被用于所有客户端应用程序。我只是举了一个例子,我知道你可以涉及到(许多人都知道Web MVC平台比客户端MVC平台)。 我会使用CLI的多个视图和控制器 - 否则,为什么要使用MVC? 对于SVN,我会为每个命令创建一个视图和一个控制器。 例如:“svn update”视图将包含类似于: 最新版本{latestRevisionNum} 已更改文件: {已更改文件列表} – 2010-02-25 22:30:39

相关问题