【发布时间】:2008-09-22 22:36:28
【问题描述】:
自从我学习面向对象编程以来,我就有了这个问题。现在,我有一个很棒的论坛,我想问这个。
假设我们正在使用 EJB 实现员工管理应用程序。
现在,有两种方法可以做到这一点。
通常,我们创建代表员工的实体 (POJO)。然后我们创建一个 EJB 接口“EmployeeManager”,其中包含 add、delete、update、retrieve、retrieveAll 方法。这样我就可以使用“员工”实体作为数据传输对象。
我们将 EJB 接口本身称为“员工”。实现可以称为“EmployeeImpl”,它具有 fields 以及方法实现(添加、删除、更新、检索、retrieveAll)。如果我使用分层方法,我的业务逻辑需要访问员工详细信息,我需要传递“EmployeeImpl”(因为它包含值)。
你认为哪种方式更好?
我更喜欢第一个,因为它“看起来”很好,不会让人觉得尴尬。喜欢
EmployeeMgr empMgr = // JNDI lookup;
Employee emp = new Employee();
empMgr.add(emp);
Employee employees[] = empMgr.retrieveAll();
第二个会是什么样子(虽然我不确定),
Employee emp = // JNDI lookup;
emp.setName(); //set the properties
emp.add();
Employee employees[] = emp.retrieveAll();
如您所见,第二个看起来很尴尬。
我请求你们给我建议。
谢谢 馒头
【问题讨论】:
标签: oop