title: How to design a solution where have similar operation, example CRUD, but does not apply to all of its subclass
body: <p>I trying to design a solution to provide CRUD operation.
  I am suppose to provide interfaces to several entities. Where each class are map to a single entity. Each class provide CRUD operation to each entity. However there are some entity that only provide certain operation. Such as Read and Update only, Create and Read only etc. 
  How should i design such that I am able to better scale and create a good interface for other developer?</p>
  
  <p>my current design :</p>
  
  <pre><code>5 Interface
  IEntity, IReadItem, IDelete, ICreate, IUpdate.
  Example IEntity -&gt; Customer class
  IReadList -&gt; Read List Operations on Customer
  IDelete-&gt; Delete operation on Customer
  ICreate -&gt; Create Item operation on Customer
  IUpdate -&gt; Update Operation on customer
  
  EntityFactory -&gt; Instantiate the IEntity, and 4 operation concrete class.
   -&gt; getEntity(EntityType(enum)) : return Concrete IEntity Class
   -&gt; getReadList(ReadListType(enum),entity) : return concrete GetItemOperation Class
   -&gt; getDelete(DeleteType(enum),entity) : return concrete DeleteItemOperation Class
   -&gt; getCreate(CreateType(enum),entity) : return concrete CreateItemOperation Class
  
  Entity -&gt; Responislbe of caching own information and connection
  Read,Create,Delete,Update -&gt; Responsible of it own details and operation
  
  Each entity have all or subset of the type 4 operation, CRUD.
  </code></pre>
  
  <p>Is there a better way to design this? or any comment on above layout?</p>