如果我有这样的事情:
每节课去哪儿?有没有人知道MVC的好例子?
答案 0 :(得分:0)
假设Shape
,Rectangle
,Circle
和Drawing
都有关于构成它们的点的一些数据,那些类肯定是Model
类。我不太确定V1Drawing
和V2Drawing
是什么,也不是DrawPackage1
或DrawPackage2
,所以我不太清楚它们会去哪里。
话虽如此,所有类的draw()
方法在MVC世界中有点不合适。域对象(Model
不应该知道他们的信息如何呈现给世界(一般而言)。对于Shape
知道的所有人,它可能被基于ASCii的图形编辑器使用一分钟,下一个“普通”图形编辑器,然后(对于我们基于MVC的Web应用程序)呈现给需要通过javascript绘制的东西的浏览器。
MVC的强大之处在于它可以让你的域对象与它们的呈现方式松散耦合。 View
图层将包含各种可以形状的Drawer
类,因为它知道形状中的内容以及它“绘制”的位置,会产生正确的输出类型。
在不了解更多的情况下,很难将架构更进一步,但简而言之,在Model
中放置代表状态的数据导向事务和处理该状态(不是外部事物)并放置东西它处理View