[英]Are models objects or data structures?
我正在阅读Robert Martin的Clean Code,有一章称为“对象和数据结构”,讨论了类应该是数据结构还是对象的方式。 本质是:
然后,它继续描述“混合”,“混合”表示“设计混乱”。
在像MVC这样的框架中,模型通常会公开其所有属性,但还包含对数据进行操作和处理的功能( 条件是模型不仅是一类属性 )。 这是否不适合作为混合结构的模型,还是我误会了某些东西?
我看过Martin的Clean Code视频系列,记得在一个视频中,当他谈到Entity-Boundary-Interactor结构时,他说实体(因此基本上是模型类)应该只具有应用程序无关的方法,这意味着有效的函数无论他们在哪个应用程序中使用。
例如,假设您有一个Line类。 一些有效的方法(在我看来)是:getLength()-这就是Martin在我认为将数据隐藏在抽象之后时所指的含义。 它不会告诉您有关实际起点和终点的任何信息,而只是告诉它们彼此之间的距离。
moveBy(double dx,double dy)-这将是在任何应用程序中都有效的方法的一个很好的例子,因为它只是将行移动了指定的增量。 请注意,这仅对行数据起作用,与在屏幕上移动行无关。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.