类设计(根据不同类型执行不同方法)

问题描述

一个系统存在两类用户,平台和企业(后续可能会增加),不管什么类型的用户,涉及到的操作都是增删查改,但是不同类型的用户,操作逻辑可能不一样(主要是使用的数据不一样),目前想用两个类来涉及这一部分,比如平台和企业都有一个公共的类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中不可见了

阅读 3.5k
1 个回答

复杂的逻辑应该拆解.
你这种的最好是按角色不同,分开写.后面好改,好调试.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题