我的查询是关于架构和类的关系的,我想知道比我实现的更好的解决方案。
我有 4 节课,每节课解释一行
- 核心.php类,将具有所有通用功能
- A.php类文件,其中包含任务A的特定功能,例如在csv文件A上写入。
- B.php类文件,其中包含任务B的特定功能,例如编写另一个与csv A完全不同的csv文件。
- X.php类,这是另一个特定于任务的类。
现在来谈谈将使用所有 4 个类的通用脚本。 所以我不明白哪个类会扩展哪个另一个类
A.php和B之间没有关系.php
但是 x.php 必须使用所有 3 个类 core.php、A.php 和 B.php。
目前我所做的,我为核心类设计了一个接口,x.php扩展核心类并实现接口。我将 A.php 和 B.php 设计为静态类。
请指导
如果类彼此无关,则不必extend
类。您可以简单地在另一个类中使用一个类,而这两个类没有任何关系继承或接口方面。
你可以这样构建它:
-
class Common
是每个类继承的基类,包含所有类都需要的公共代码,例如用于日志记录或数据库访问的代码。 -
class A extends Common
,专门用于一些与CSV相关的任务。这个类本身可能会也可能不会做任何事情。 -
class B extends A
,甚至更专注于涉及CSV的一些特定任务。 -
class X extends Common
,又是其他一些任务。
通常,如果一个类执行几乎相同但稍微更专业或不同,则extend
公共基类。如果一个类与另一个类没有任何共同之处,只需将它们设置为独立的类即可。使用interfaces
进行多态性;听起来这不是你现在需要的。
这
听起来像是基本的依赖管理。我不明白你为什么明确想要扩展任何东西?
您可能应该做的是注入所需的依赖项。分别实例化Core
、A
和B
,然后再使用它所依赖的对象实例化X
。