我不确定区别.我正在使用Hibernate,在某些书籍中,他们使用JavaBean和POJO作为可互换的术语.我想知道是否存在差异,不仅仅是在Hibernate上下文中,而是作为一般概念.
1)为什么我们使用DTO和DAO,何时使用它们.我正在开发一个GUIJava软件来处理插入,编辑,删除数据.但我很努力区分DTO/DAO和Model,View,Controller(MVC)结构?它们是否相似,最好在通过Java与数据库交互时使用GUI.
2)我真正好奇的一件事是view,Controller在一堂课中是否是一个好习惯.如果我们考虑一下Netbeans,你可以创建GUIFrame Class并JButton在框架上添加组件,双击该按钮会将你带到actionListener方法(Controller),该方法似乎在框架中,数据将显示给用户(View) .所以他们在同一个班级.这完全违背了这个概念吗?
这就是我所说的
在一个类中拥有视图和控制器的不良做法?
嗨,请不要说我的问题是重复的:-)我看到所有问题,但不明白确切的区别.
有人能解释什么是POJO,Bean,Normal Class在易语言?
实际上我对这些术语以及它们如何相互关联感到非常困惑.阅读关于他们每个人的事情,但我不了解工作流程..
DTO - 数据传输对象 - 传输值的
对象BO业务对象 - 域模型中的对象.使用
POCO 创建业务逻辑的对象- 不知道,我已经阅读了维基上的定义,但没有理解任何东西
DAO - 数据访问对象 - 映射数据库表的对象?
请有人请为我带些光吗?
我找不到它们之间的区别.有谁知道如何区分它们?
我正在为一个新项目草拟一些想法,并意识到我在设置MVC框架时遇到了一些困难(在这种情况下,CodeIgniter)我喜欢的方式.虽然我相信这可以通过更多地设计并找出更好的布局来克服,但它让我思考:MVC 不是最好的答案吗?如果没有,何时使用MVC对项目来说是一个好主意,何时不是?
我觉得MVC 可以用于任何网络应用程序,但我想知道什么时候它不是最好的解决方案.
DTO和实体之间有什么区别?详细信息以下是我的问题:
DTO应该有哪些领域?例如,我的实体类是:
@Entity
public class MyFirstEntity implements Serializable {
@Id @GeneratedValue
private Long id;
private String stringData;
@OneToOne
private MySecondEntity mySecondEntity;
@OneToMany
private List<MySecondEntity> mySecondEntitesList;
}
@Entity
public class MySecondEntity implements Serializable {
@Id @GeneratedValue
private Long id;
private Integer integerData;
@ManyToOne
private MyFirstEntity myFirstEntity;
}
Run Code Online (Sandbox Code Playgroud)有一个单向连接(一对一)和一个双向连接(多对一),一个简单的字符串和整数数据,当然还有ID.什么,从他们把在MyFirstDTO和MySecondDTO班?
如果实体之间存在继承,那么我应该如何在DTO中表示它?例如:
@Entity
public class MyFirstEntity extends MySecondEntity {
....
}
@Entity
public class MyFirstDTO extends MySecondDTO {
....
}
Run Code Online (Sandbox Code Playgroud)我应该如何使用它们?例如,我发现了这一点:我正在开发一个Web项目.网页的用户想要注册.他/她填写表格,并将其发送到服务器.在服务器端,我首先创建一个DTO,因为它的字段具有验证.从DTO我创建一个实体并将其持久化到数据库.当有实体请求时,我将请求的实体转换为DTO,并将其提供给客户端的用户.是不是很好的想象力?
在一个完整的Java EE应用程序中,群集是DTO模式仍然是一个有效的选项?有问题的应用程序使用EJB Hibernate和Struts with Spring等.在这种情况下传输域对象有什么问题吗?
编辑:只是为了澄清我的问题,现代资源和Java EE的改进有没有理由不使用域对象?如果没有,那么DTO模式是否会逐渐消失,不应该在新的应用程序中使用?
在哪种情况下我可以在n层架构中使用这些设计模式?