在www.jdon.com呆久拉,对JAVA有了一个更深的了解,原来一直以为算法+数据结构才是程序王道,现在更加深了对它的认真,领域建模+模式+框架也是基础。
最近看了一些关于领域建模的介绍,却不得其解,今天看到老王的一篇文章(http://hi.baidu.com/thinkinginlamp/blog/item/807b2834dab21f3b5bb5f51f.html),顿时有了新的认识。
他提到领域的组成:
实体(Entity):拥有唯一标识的对象。
值对象(Value Object):没有唯一标识的对象。
工厂(Factory):定义创建实体的方法。
仓储(Repository):管理实体的集合并封装其持久化过程。
服务(Service):实现不能指派或封装在一个单一对象上的操作。
突然我想到我们经常用的STRUTS+HIBERNATE+SPRING不就是一个很典型的领域建模吗?只是它和我们平常说的有那么一点区别:我们平时做的是先弄数据库,确定表,字段,然后再把它持久化(DAO),再就是业务层(SERVICE),再就是表现层(STRUTS)。而领域建模是一个不同的业务过程,是先用领域建模的观点,用UML技术把它规划出来,再到持久层(DAO),再业务层(SERVICE),而数据库是通过hibernate的配置直接生成,这样就完全是面向OO拉,毕竟数据库是面向过程的。
最近看了一些关于领域建模的介绍,却不得其解,今天看到老王的一篇文章(http://hi.baidu.com/thinkinginlamp/blog/item/807b2834dab21f3b5bb5f51f.html),顿时有了新的认识。
他提到领域的组成:
实体(Entity):拥有唯一标识的对象。
值对象(Value Object):没有唯一标识的对象。
工厂(Factory):定义创建实体的方法。
仓储(Repository):管理实体的集合并封装其持久化过程。
服务(Service):实现不能指派或封装在一个单一对象上的操作。
突然我想到我们经常用的STRUTS+HIBERNATE+SPRING不就是一个很典型的领域建模吗?只是它和我们平常说的有那么一点区别:我们平时做的是先弄数据库,确定表,字段,然后再把它持久化(DAO),再就是业务层(SERVICE),再就是表现层(STRUTS)。而领域建模是一个不同的业务过程,是先用领域建模的观点,用UML技术把它规划出来,再到持久层(DAO),再业务层(SERVICE),而数据库是通过hibernate的配置直接生成,这样就完全是面向OO拉,毕竟数据库是面向过程的。