我正在了解 ECB模式。我已经理解了这种模式的概念,但我对它的实现并不确定。我要写一个简单的例子: 我应该需要一个管理商店顾客的软件。客户存储在通用数据库中。 根据ECB模式,我需要有以下类
1) 客户 ,代表实体及其属性(姓名,姓氏,出生日期等)。
2) CustomerWindow 代表边界,带有一些标签,文本字段,按钮和一个向客户展示的表格
3) CustomerController ,它用一些方法表示逻辑(插入,删除等...)
我还应该添加一个 CustomerDAO (实现一个接口,但我的问题不是关于DAO)来管理对数据库的访问。 我想知道这些类互相交互的方式。 例如,假设新客户的插入,我想他们会像这样互动:
1) CustomerWindow "收集"写在textFields(name,surname ecc)中的数据,并调用 CustomerController 的方法insert(String ....)。
2) CustomerController 检查所有数据是否正常(例如空字段或格式错误)。如果没问题,请使用该数据创建一个新的客户,并调用 CustomerDAO 的方法插入(客户c)。
3) CustomerDao 提供将客户插入数据库
显然,这些操作中的一些可能会抛出一些例外,但我认为这对于这个例子来说并不重要,假设插入的数据都是有效的。 这是ECB模式的工作方式吗?如果没有,它是如何工作的?
我有一个问题: 这些类中的一些应该是静态的还是我需要声明每个类的实例?例如,我认为CustomerController和Customer DAO可以是静态的。 CustomeWindows调用CustomerController.insert(...)方法,该方法最终调用CustomerDAO.insert(...)方法(因此我不需要创建新的CustomerController()或新的CustomerDAO()。 strong>是不是?
我希望我的英语很容易理解。如果我不清楚某些事情,请告诉我。谢谢大家;)
P.S。如果你愿意,我可以写一个代码示例