像大型计划一样的 SaaS 服务项目。我脑子里有一个大概的类结构,例如:使用数据库、使用任务、负责个人设置的服务类、数据验证器、api。
问题:通过什么迹象你可以确定这个类需要抽象化,具体实现应该已经在继承人中完成?
例如,如果有几种类型的用户(免费、关税 1、关税 2),是否值得将用户类抽象并在其中设置通用用户属性,然后使其权限不同?
或者,例如,对于使用数据库的一类抽象应该考虑什么?
像大型计划一样的 SaaS 服务项目。我脑子里有一个大概的类结构,例如:使用数据库、使用任务、负责个人设置的服务类、数据验证器、api。
问题:通过什么迹象你可以确定这个类需要抽象化,具体实现应该已经在继承人中完成?
例如,如果有几种类型的用户(免费、关税 1、关税 2),是否值得将用户类抽象并在其中设置通用用户属性,然后使其权限不同?
或者,例如,对于使用数据库的一类抽象应该考虑什么?
问题本身已经有了答案。当需要多态性(一个接口 - 多个实现)时,您应该考虑创建一个抽象类(作为接口的角色,取决于 PL),其中将指示处理数据的主要方法。并且根据数据类型,已经创建了具有特定实现的子类。
只有当你明白创建这个类的对象没有意义时才应该创建抽象类,但是我们抽象类内部的所有字段和方法都必须在所有子类中,即子类不能在没有必要字段的情况下创建...
对于关税,是的。这将使阅读代码和导航变得更容易。但是数据库,我想只有当你有很多其他的数据库时,创建一个抽象类来初始化类型等方法会很
close()方便connect()。并在子类中在您需要的数据库下实现它们。但在这种情况下,您甚至可以使用接口而不是抽象类。