Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 使用可选子类处理基类/超类的设计模式_Design Patterns_Inheritance - Fatal编程技术网

Design patterns 使用可选子类处理基类/超类的设计模式

Design patterns 使用可选子类处理基类/超类的设计模式,design-patterns,inheritance,Design Patterns,Inheritance,我可能没有我的条款在这里,所以请编辑清楚 假设我有运行一个在线商店的代码,它有许多不同的类/对象与之关联(订单、客户、产品等) 然后,我有特定的商店,比如鞋店和铅笔店,每个商店都实现了基本商店的不同方面 在MVC模式中,如何设计一个应用程序,使我不必为每种类型的商店的每个对象编写一个子类?(如果我有很多商店,这会很快变得不方便) 例如,给定这些模式: models/baseOrders.file models/baseCustomers.file models/baseProducts.file

我可能没有我的条款在这里,所以请编辑清楚

假设我有运行一个在线商店的代码,它有许多不同的类/对象与之关联(订单、客户、产品等)

然后,我有特定的商店,比如鞋店和铅笔店,每个商店都实现了基本商店的不同方面

在MVC模式中,如何设计一个应用程序,使我不必为每种类型的商店的每个对象编写一个子类?(如果我有很多商店,这会很快变得不方便)

例如,给定这些模式:

models/baseOrders.file

models/baseCustomers.file

models/baseProducts.file

models/shoeStoreOrders.file(扩展基本订单)

models/pencilShopCustomers.file(扩展baseCustomers)

然后我希望能够实例化一个订单模型,当它是鞋店时使用shoeStoreModel.file,当它是铅笔店时使用baseOrders


希望这是一个明确的问题,但也许我对这个问题的想法完全是错误的。。。请指导!!!提前感谢…

按照您的描述方式,子类似乎是开放的。由于(通常)无法动态创建子类,一种解决方案是使用,它的实例表示所需的子类。

按照您的描述方式,子类似乎是开放的。由于(通常)不能动态创建子类,一种解决方案是使用,它的实例表示所需的子类