我有一个班级Company
,这个班级有一些搜索,列表等方法,用于我网站的访问者。但我有一个不同的类adminCompany
,仅当有管理员用户登录时才有效。这个类有其他方法:update_info_company()
,delete_company()
,以及管理员可以做的任何事情
我的问题是:
答案 0 :(得分:2)
在OOP中我们有这个东西:single responsibility principle。它基本上意味着每个类应该只有一个改变的原因(扩展时)。
根据您的描述,似乎“公司”既是一个单独的实体(最有可能是domain object的某些变体),它具有不同的属性,可以创建或删除。然后它还有工厂的方面,当它用于查找同一对象的多个实例时。 这似乎是个错误。
你应该将这个结构的两个方面分开(我假设现在你有class AdminCompany extends Company{}
,这是问题的一部分)。
至于控制哪些用户组可以执行任务,您可能会发现this post有用。