Model view controller wicket MVC最佳实践

Model view controller wicket MVC最佳实践,model-view-controller,wicket,Model View Controller,Wicket,嗨,我和wicket一起工作了一段时间,在我的团队中,我们就设计应该放在哪里争论了很多 我认为设计应该只在标记中进行,以便在其他人认为我所做的是沸腾的平台代码的情况下实现关注点的分离 例如,我们使用此结构来支持IE8使用带有图片的圆角: <div class="panel-wrapper"> <div class="panel-left"></div> <div class="panel-right"></div> &

嗨,我和wicket一起工作了一段时间,在我的团队中,我们就设计应该放在哪里争论了很多

我认为设计应该只在标记中进行,以便在其他人认为我所做的是沸腾的平台代码的情况下实现关注点的分离

例如,我们使用此结构来支持IE8使用带有图片的圆角:

<div class="panel-wrapper">
   <div class="panel-left"></div>
   <div class="panel-right"></div>
   <div class="panel-bottom"></div>
   <div class="panel-top"></div>
   <div class="panel-bottom-right"></div>
   <div class="panel-bottom-left"></div>
   <div class="panel-top-right"></div>
   <div class="panel-top-left"></div>
   <div class="panel-bg"></div>
   <div class="panel-body">
  //stuff 
 </div>       
我认为这与我作为一名开发人员的想法背道而驰,这是实现mvc的最好方法,将视图和控件分开,其他人说我们应该在wicket panel中编写一次代码,从wicket panel派生

如果tommarow这个组件在另一个地方,并且给定的标记会给我们带来诸如使用@override getVaration之类的问题,该怎么办

为什么不使用行为?
通过将基本布局放入模板中保持组件干净,但使用AttributeAppender/AttributeModifiers添加CSS类。

我认为允许了解CSS和语义标记的设计师创建页面的静态版本是个好主意,然后,您可以决定如何构造面板,然后将面板的标记wicketize。我认为这是设计师和开发者可以扮演的角色。
通常,在决定如何创建面板时,人们可能会关心如果标记发生更改会发生什么?。。这就是为什么了解网站的路线图并了解如何重用它是有用的。在我的例子中,我通常做的是创建一个没有标记的抽象面板,然后开始扩展它,而不是创建样式之类的东西,因为这通常会导致在根据样式更改面板行为时,每次需要不同样式时,面板中都会发生更改。如果您认为一个抽象面板可能会有些过分,那么可以创建一个默认面板,其中的标记可能会被使用得最多,并在必要时进行扩展,并为新面板使用不同的标记。

我会将其保存在html中。如果您担心重复应用,请尝试将公共代码提取到包装实际内容的面板中。或者更好的是,摆脱IE;我认为这是一个坏主意,标记应该用他的css,设计,通过使用getVaration,你可以为同一个控件使用两个html。。。