问题描述
一个系统存在两类用户,平台和企业(后续可能会增加),不管什么类型的用户,涉及到的操作都是增删查改,但是不同类型的用户,操作逻辑可能不一样(主要是使用的数据不一样),目前想用两个类来涉及这一部分,比如平台和企业都有一个公共的类A,方法是增删查改,然后平台的类是类A的子类,在平台中则不是增删查改,而是平台的增删查改,也就是方法名得区别一下;企业的方式类似。还有一个是超级管理员,则需要平台和企业的操作。
问题出现的环境背景及自己尝试过哪些方法
CRUD {
+ insert
+ update
+ delete
+ select
}
AccessCRUD extends CRUD {
+ beforeInsert
+ prepareInsert
+ postInsert
+ AfterInsert
...
}
OrganizeCRUD extends AccessCRUD {
+ platformBeforeInsert
+ platformPrepareInsert
+ platformPostInsert
+ platformAfterInsert
+ enterpriseBeforeInsert
+ enterprisePrepareInsert
+ enterprisePostInsert
+ enterpriseAfterInsert
}
你期待的结果是什么?实际看到的错误信息又是什么?
现在的这种方式OrganizeCURD中的方法过多,期望是PlatformCRUD、EnterpriseCRUD,然后OrganizeCRUD继承PlatformCRUD和EnterpriseCRUD就拥有了操作PlatformCRUD和EnterpriseCRUD的方法,另外CRUD的方法希望在PlatformCRUD、EnterpriseCRUD和OrganizeCRUD中不可见了
复杂的逻辑应该拆解.
你这种的最好是按角色不同,分开写.后面好改,好调试.