Я пытаюсь разработать решение для обеспечения работы CRUD.
Я предполагаю предоставить интерфейсы нескольким объектам. Где каждый класс отображается на одну сущность. Каждый класс обеспечивает операцию CRUD для каждого объекта. Однако есть некоторые объекты, которые обеспечивают только определенные операции. Например, только чтение и обновление, создание и чтение и т. Д.
Как мне спроектировать так, чтобы я мог лучше масштабировать и создавать хороший интерфейс для других разработчиков?
мой текущий дизайн:
5 Interface
IEntity, IReadItem, IDelete, ICreate, IUpdate.
Example IEntity -> Customer class
IReadList -> Read List Operations on Customer
IDelete-> Delete operation on Customer
ICreate -> Create Item operation on Customer
IUpdate -> Update Operation on customer
EntityFactory -> Instantiate the IEntity, and 4 operation concrete class.
-> getEntity(EntityType(enum)) : return Concrete IEntity Class
-> getReadList(ReadListType(enum),entity) : return concrete GetItemOperation Class
-> getDelete(DeleteType(enum),entity) : return concrete DeleteItemOperation Class
-> getCreate(CreateType(enum),entity) : return concrete CreateItemOperation Class
Entity -> Responislbe of caching own information and connection
Read,Create,Delete,Update -> Responsible of it own details and operation
Each entity have all or subset of the type 4 operation, CRUD.
Есть ли лучший способ спроектировать это? или какой-либо комментарий к макету выше?