能不能把数据库对应的实体类暴露给用户?为什么?
全部 1012
能不能把数据库对应的实体类暴露给用户?为什么?
-
可以,但是不建议这么搞,原因如下:
1.数据库的数据模型不一定是准确的匹配业务模型,而是对业务模型的抽象。从MVC的角度来看,M层-C层-V层的通用性越来越小,可变性越来越大。业务需求是经常会变化的,如果这个变化每次都要影响数据库的数据模型,那从外到内的代码都得改一遍了。
2.从系统稳定性的角度来说,假如将来系统要重构,甚至表结构也要变化,但是对外的接口不变,模型分离也可以避免接口调用方对内部逻辑重构的感知。
3.从安全的角度来说,把数据库模型直接对外开放,等于告诉别人你是怎么开发的。对你系统有想法的人可以更有针对性的黑你系统。
2018-07-15 22:10:36