Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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
Oop 选择哪种设计模式_Oop_Design Patterns - Fatal编程技术网

Oop 选择哪种设计模式

Oop 选择哪种设计模式,oop,design-patterns,Oop,Design Patterns,因此,我最终遇到了一个项目,我是其中的一部分,该项目有两种类型的列表(至少目前是这样):预订列表和轮班列表。这两个列表都是这样创建的,因此我们有一个包含这两个列表的逻辑的列表对象,以及一个单独的轮班和预订列表对象,用于各个功能 列表对象开始变得势不可挡。它具有分页、编辑器功能、选择和双击打开弹出窗口、鼠标悬停弹出窗口以及过滤和分页。我想把代码重构成一些更易于维护的东西,我想可能是更小的单元。我应该考虑什么样的设计模式 如果有必要的话,List对象包含超过3k行的OO JavaScript代码。事

因此,我最终遇到了一个项目,我是其中的一部分,该项目有两种类型的列表(至少目前是这样):预订列表和轮班列表。这两个列表都是这样创建的,因此我们有一个包含这两个列表的逻辑的列表对象,以及一个单独的轮班和预订列表对象,用于各个功能

列表对象开始变得势不可挡。它具有分页、编辑器功能、选择和双击打开弹出窗口、鼠标悬停弹出窗口以及过滤和分页。我想把代码重构成一些更易于维护的东西,我想可能是更小的单元。我应该考虑什么样的设计模式


如果有必要的话,List对象包含超过3k行的OO JavaScript代码。

事实上,它非常强大。没有简单的答案或选择的设计模式。我将开始应用“”设计原则。一个类/一组函数只做一件事。这将有助于降低复杂性。然后你可以申请。首先,您可以使用委派。在您的情况下,可以适合,因为您可以“装饰”的基本清单与功能取决于使用

在考虑DP之前,考虑关注点分离,将代码划分为可理解的小部分。然后使用一些DP链接它们

祝你好运


my2c

我想您需要发布一些代码来获得更多有用的帮助。也许你可以把它贴上(至少是一部分),看看人们是否能提供更多的帮助?就目前情况而言,我认为这个问题无法真正得到回答。