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