2011-01-31 91 views
2

所以我结束了一个项目的情况,我参与的项目有两种类型的列表(目前至少):预订和班次列表。这两个列表都是为了让我们有一个包含两个逻辑的List对象,以及一个单独的Shift和Booking列表对象,用于各个特征。选择哪种设计模式

List对象开始压倒一切。它具有分页,编辑功能,选择和双击打开弹出窗口,鼠标悬停弹出窗口以及过滤和分页。我想将代码重构成更坚持的东西,也许我会想到更小的单元。我应该在这里考虑哪些设计模式?

如果很重要,List对象包含超过3千行的OO JavaScript代码。

+1

我怀疑你需要发布一些代码来获得更多有用的帮助。也许你可以在http://codereview.stackexchange.com上发布(至少是其中的一部分),看看人们能否提供更多的帮助?就目前来看,我想说这个问题不能真正回答。 – 2011-01-31 17:29:22

回答

6

事实上,它是压倒性的。没有简单的答案或选择的设计模式。我将开始应用“separation of concern”的设计原则。一类/一套功能只做一件事。这将有助于降低复杂性。然后你可以申请structural design patterns。首先,您可以使用委派。在你的情况下,decorator design pattern可以适合,因为你可以用功能“装饰”基本列表,具体取决于使用...

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

祝你好运!

my2c