我正在一个Spring项目中,其总体结构基于view-controller-service-layer-DAO / POJO布局。
我正在研究一个新的POJO对象,并且不确定将其绑定的最佳位置在哪里。对我来说最有意义的两个是将其放入正在使用该视图的视图中,或者是将其附加到视图的控制器,就像处理其他数据一样。
一个视图有一个表,该表显示多种相似的数据。该表显示了数据名称,新的,已修改的和已删除的更改的计数,数据段(可以向下钻取)以及最后的更改总数。
由于我期望将来自己维护此软件,因此我尝试使其可扩展且易于维护。由于该项目需要双语页面,因此我大量使用spring消息传递功能。因此,我的新对象接受5个参数。前四个参数是字符串,字段名称spring消息传递密钥,钻取页头spring消息传递密钥,用于计数的数据库存储过程名称以及用于钻探页面值的数据库存储过程名称。最后一个参数是字符串的数组列表,这些字符串是钻取页面上列标题的spring消息传递键。
使用对象,当我想在此表中添加或删除值时,应该只能触摸一个文件,而无需修改多个页面。我还没有弄清楚它的正确使用位置。是让视图调用/创建对象并为每个元素创建一个表列表,还是让控制器调用/创建对象并将数据附加到视图对象会更合适?
我构建新POJO的方式确实破坏了用于该项目的vcsd模型,但是我不想创建其他项目文件来与仅用于显示在该表中的对象进行交互,并深入研究该表的结果。如果要与对象进行更多的交互,则提供丰富交互列表的服务层可能会很有用。但是在这种情况下,POJO在很大程度上是自包含的,因为它具有用于其自己的数据库调用的紧密耦合的DOA。
答案 0 :(得分:1)
仅需一个简单的陈述即可回答这个问题,因此我仅涵盖所有关键部分。我首先回答标题问题:
POJO应该连接到视图或控制器吗?
POJO从未连接到视图或控制器。它是一个独立的数据结构,是到任何库,框架或组件(例如视图或控制器)的一袋数据。想法是该模型应在视图和控制器之间共享。有关Spring: Understanding POJO的POJO的更多信息。
所以我的新对象接受5个参数。
将对象分解为较小的对象,然后使用decorator向其添加功能或状态。
使用对象,当我想在此表中添加或删除值时,应该只能触摸一个文件,而无需修改多个页面。我还没有弄清楚它的正确使用位置。是让视图调用/创建对象并为每个元素创建一个表列表,还是让控制器调用/创建对象并将数据附加到视图对象会更合适?
文件和对象的1-1抽象很好。将对象构造为不可变的,并将数据源起源仅作为文件。通过触摸数据源来源(文件)的方法执行添加,更新和删除操作。然而,对象仍然是不变的,这是可维护性的关键。 List<MyObject>
可以很好地代表表格。
如果我要与对象进行更多的交互,则提供丰富交互列表的服务层可能会很有用。
因此,已经引入了服务层。