我正在使用NHibernate来保存我的域对象.为了简单起见,我将ASP.NET MVC项目用作表示层和服务层.
我想从我的控制器类返回XML中的域对象.在Stack Overflow上阅读了一些帖子后,我收集DTO是可行的方法.但是,我也遇到过有关ViewModel的帖子.
我的问题:数据传输对象和ViewModels是一样的吗?或者ViewModel是DTO的一种子模式?
最近我在按功能打包java代码时遇到了这个javalobby帖子http://java.dzone.com/articles/how-changing-java-package.
我喜欢这个想法,但我对这种方法的问题很少.我问了我的问题,但没有得到满意的答复.我希望StackOverflow上的某个人可以澄清我的问题.
我喜欢逐个功能的想法,它可以大大减少编码时移动包的时间,所有相关的东西都在一个地方(包).但是不同包中的服务之间的交互呢?
假设我们正在构建一个博客应用程序,我们将所有与用户相关的操作(控制器/服务/存储库)放在com.mycompany.myblog.users包中.并且包中的所有博客相关操作(控制器/服务/存储库)com.mycompany.myblog.posts.
现在我想显示用户个人资料以及他发布的所有帖子.我应该叫myblog.posts.PostsService.getPostsByUser(userId)从myblog.users.UserController.showUserProfile()?
包之间的耦合怎么样?
无论我在哪里阅读有关逐个功能的内容,每个人都说这是一个很好的做法.那么为什么许多书籍作者甚至框架都鼓励按层分组呢?只是好奇知道:-)
我正处于Web应用程序的设计阶段,该应用程序允许用户创建工作请求,工作人员可以根据这些请求投入时间.该应用程序还将为主管提供报告功能,以获取每日总计,报告和帐户所花费的时间,"成本分配".
我过去使用的应用程序是使用逐层方法设计的.我认为通过功能设计使用包会更有效率,我对这个设计有疑问.
我目前正在考虑的功能包:
前端将是Tomcat服务器和JSP.而且,后端将是一个Oracle数据库,EclipseLink执行持久性.
我的问题:
根据我对逐个包的理解,实体和DAO将进入与它们相关联的包.在多个包中展开持久层.将包从其他包中调用实体.所有的重叠是否真的有用?包之间没有隔离.使用打包功能有什么优缺点?使用额外的持久层是否是一个好的设计?或者,我是否完全理解这一点?