我有设计问题,希望能得到帮助。
假设我有一个域实体说“用户”、“机构”。
该“用户”可以注册到各种“服务”,例如“会计或图书馆”。我创建了一个“ServiceRegistration”抽象类,“User”有这些服务注册的列表。这些服务只不过是将来作为组件插入的模块。所以当我的库组件完成后,我可以插入到我的系统中。Library 组件将显示“LibraryServiceRegistration”类,该类将存储在“User”->“ServiceRegistration”列表中。“用户”不知道这个“LibraryServiceRegistration”,因此变得可扩展。库组件当前知道“用户”,因此它可以将“图书馆服务注册”信息存储在“用户”中。
但现在说我创建了一个适用于“用户”和“机构”的新组件“会计”。我的会计组件将“AccountingServiceRegistration”存储在每个用户的“用户”->“服务注册”和每个机构的“机构”->“服务注册”中。
我希望隔离“会计”组件,以便我可以将其配置为它也可以提供服务的域实体。所以目前它可以在不更改代码的情况下为“用户”和“机构”提供服务。
这可能吗?