我正在进行一个开源项目。
我的代码应该支持插件功能。
我有6到7个客户端处理类,它们最终扩展到一个名为"客户端"的类
class client1{}
class client2 extends client1{}//contacts
class client3 extends client2{}//files
...
class clients extends client9{}//msging
这不是正确的方法。(仍在寻找更好的方法)
这个脚本应该支持插件。说一个插件有几个类
class clientUserManagement{}
那么它在中应该是可控的
class clients{}
每个类处理客户端系统的不同区域。现在将所有类扩展到一个类。通过使用method_exist(),调用所需的功能。
重要
- 这些类不共享任何属性
- 所有与客户端相关的功能都应按类型分组在单独的文件中
- 如果所有类最终都控制在一个类名下,那么使用method_exist()只运行与客户端相关的函数是安全的
这是更好的结构方式,以便它支持插件函数。
您应该将事物拆分为encapsualte功能,然后使类相互交互。我还将把基本的东西抽象为更通用的类,这些类将在其他地方使用。
客户端
- 有一个联系人集合-ClientContactCollection
- 有一个文件集合-ClientFileCollection
- 有一个消息集合-ClientMessageCollection
客户联系
- 扩展通用联系人
客户端文件
- 扩展通用文件
客户端消息
- 扩展通用消息