4

我有一个页面,访问时会显示与视频相关的信息表:

  • 嵌入代码
  • 标题
  • 描述
  • 当前画廊
  • 缩略图

首次访问该页面时,此信息是只读的。

有一个选择菜单,其中包含以下选项:

  • 编辑描述
  • 创建缩略图(上传/替换)
  • 编辑嵌入代码
  • 更改图库
  • 删除视频

当用户选择一个选项时,会显示相同的初始数据表,但在必要时会显示相关的表单输入。

例如,如果选择了“编辑描述”,则页面会重新加载,并且描述文本将替换为文本输入。如果选择“创建缩略图”,则显示文件上传输入。

这个想法是将所有信息一起显示,但限制一次可以编辑的数量。

我知道状态模式是一种可能的解决方案,因为每条数据至少可以处于以下两种状态之一:

  1. 显示状态
  2. 表单输入状态

但是,我的问题是,使用状态模式会不会过大?

目前,每次访问页面时,表单的每个部分都会用一个 switch 语句决定它应该处于“显示”还是“输入”状态,然后进行相应的操作。我想知道实施状态模式设计是否会使更改表单和创建类似表单更容易。

谢谢!

4

2 回答 2

4

不,状态设计模式并不过分。对于处理如此复杂的接口,它可能是一个非常好的算法选择。我曾多次在 PHP 中使用过状态引擎;它可以帮助您创造性地思考问题,并且您通常会在灵活性方面获得奖励。

我希望更多的程序员知道这样的事情。

于 2010-08-03T05:10:11.457 回答
0

我使用设计模式(包括 PHP 中的状态模式)的次数越多,我就越相信它们可以节省时间。最初,开发可能需要更长的时间,但不会太长。但是,在更改和更新方面,它们可以节省大量时间。您的代码组织得更好,更清晰,并且不太可能通过设计模式之外的紧密绑定而通过炸弹进入您的代码。我在 php5dp.com 上做过几个 PHP 设计模式,但是在 State dp 中什么都没有。

于 2012-09-03T14:56:01.300 回答