领域模型
来源:互联网 发布:怎么入侵网站数据库 编辑:程序博客网 时间:2024/05/13 19:52
1 实现领域模型
领域模型经常被其它功能引用,因此,我们应该时刻注意不应该让切面逻辑侵入到领域模型的实现中去。
2 当我们的关注点,例如持久化,事物管理,权限等出现在领域模型的实现中时,这就是代码侵入(leaky concerns)。领域模型的实现不应该依赖于java api。例如领域模型中不应该用JDBC api调用数据库操作。所以实现领域模型的规则:MVC三层中都能访问领域模型实体类,并能改变其状态。
防止领域模型代码侵入可以方便单元测试,因为可以不必为其配置特定的上下文环境或者容器。
3 javaee 用元数据解决了leaky concerns,用注解或者XML配置文件,hibernate不是javaee运行时环境,他只是用来实现JPA中数据持久化的功能。JPA主要定义实体类,实现变成通明持久化。hibernate实现了自动持久化。这里的通明是指把领域模型的持久化类和持久化层的关注点(concerns)完全分离,也就是说持久化类不关注也不依赖于持久化机制。我们用自动指的是一个持久化的解决方案(注解持久化类,层次,元数据)依赖于你去处理底层操作细节(比如用JDBC API连接数据库)
注:没有一个自动的持久化解决方案是完全通明的。我们应该让持久化机制对领域模型类的实现影响最小。
4 一:JPA不要求持久化类必须继承某个特定父类或者继承某个接口。
二:你能在持久化上下文之外复用持久化类,比如在显示层访问持久化类或者单元测试。有可重用性和可测试性。
三: 持久化类不关注底层持久化技术,甚至不知道自己被持久化。
四: 在单线程业务逻辑中不一定要关注持久化类实例的状态
5 我们最长用的编程模型来实现通明和自动持久化的是POJO (Plain Old Java Objects),
6 当持久化实例被存储在 HttpSession中或者通过 RMI传送时,必须要序列化。
7 可持久化类必须是顶层类(可以继承一个不是持久化的父类,不可以是内部类),JPA和hibernate要求持久化类必须有一个无参数构造函数
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型
- 领域模型、贫血模型
- 领域模型学习(01):领域模型简介
- 编程题(1):双核处理
- Spark 内存管理之StaticMemoryManager
- 函数外局部变量 null问题
- error C2220: warning treated as error
- JDK5新特性_自己实现枚举类
- 领域模型
- 题目1065:输出梯形
- 网络编程碎知识之由目标IP怎么知道目标MAC地址
- react-native-country-picker-modal手机通讯录
- comet4j 消息推送配置
- SpringBoot基本讲解(配置文件)
- 指示函数与符号函数
- android仿微信选择器同时展示视频和图片
- 最短进程优先(Shortest Process First,SPF)调度算法