m.blog.csdn.net
M负责数据实体还是负责数据的访问
说完摇摇欲坠的View,接着说地位尴尬的Model。Model是数据的化身,后端开发千变万变,核心都是数据的处理。可以说,Model就是占了个风水宝位。不过在我看来,当前常见的做法——只划分一个Model包——并不够清晰。
以我愚见,后端程序中的Model其实做了两件事。一件事是表示了数据实体,另一件则是负责数据的访问。按照单一职责原则,Model这样一身饰两角是不对的。数据实体是一回事,对应的数据实体的访问是另一件事,两者不能混起来。
假设保存Account需要一个事务,在这个事务里面要更新Account和Balance两个实体。下面是Rails里面的做法: