Design patterns 如何设计具有多种类型的模型对象
目前我正在进行基于MVC的项目,我有一个名为program的模型,它有超过25个子类型,子类型的问题是,根据公共属性将它们划分为组非常复杂,这里有一个示例:Design patterns 如何设计具有多种类型的模型对象,design-patterns,model-view-controller,Design Patterns,Model View Controller,目前我正在进行基于MVC的项目,我有一个名为program的模型,它有超过25个子类型,子类型的问题是,根据公共属性将它们划分为组非常复杂,这里有一个示例: ProgramX has attributes 1,2,4 programY has attributes 2,4,7 programZ has attributes 3,6,7 programY has attributes 1,4,8 等等,这样做的最佳实践是什么?我试图通过为一组包含公共属性的子类型创建一个超类来抽象它,但是基于公共
ProgramX has attributes 1,2,4
programY has attributes 2,4,7
programZ has attributes 3,6,7
programY has attributes 1,4,8
等等,这样做的最佳实践是什么?我试图通过为一组包含公共属性的子类型创建一个超类来抽象它,但是基于公共属性对它们进行分组确实很困难。有这样的设计模式吗?我不确定这是否会是一个答案,但现在我们开始 事实上,您有25个子类型的
程序
类,这应该是一个错误方法的明确指示
您不应该扩展并试图将所有内容都推到单个继承树中,而应该从组件中组合程序
实例,每个组件都提供特定的功能
我假设这些“属性”中的每一个实际上都构成了一些功能,因为在一个类中简单地包含public
变量就意味着存在泄漏的封装(糟糕的做法)
如果类实际上是由独立的部分组成的,那么,为了与各种组件交互,您只需要提供一个高级接口
注意:设计模式不是“预先打包的解决方案”,而是在描述已经生成的代码时应该使用的名称
注2:模型不是一个类,而是一个包含业务逻辑的应用层。。。你所谓的“模型”实际上是