我的经验和对设计模式的理解来自Laravel的工作,所以实际上我只有MVC设计模式的经验,但是我发现自己为每个CRUD操作开发了一种“autocompiling”视图,例如我通常在模型中放置某种数组来描述我希望如何为模型本身生成视图,之后我编写了一个读出模型属性的基本视图,并基于数组生成字段需要,是这样的:设计模式的混合是一个糟糕的实践吗?
class User extends Model{
public $editFormArray=array(["name","text",20],
["surname","text",30]);
[...]
}
加载发送给它,并根据$ editFormArray礼模型
和视图将具有与实施,就会产生自身
喜欢的东西:
@foreach($resource->editFormArrayas $currForm)
@if ($currForm[1]=="text")
<div class="form-group">
<div class="col-md-12">
<input name="{{$currForm[0]}}" type="{{$currForm[1]}}"
placeholder="{{$currForm[0]}}" size="{{$currForm[2]}}">
</div>
</div>
@endif
[...]
@endforeach
这种做法让我创建只有1 CRUD操作视图(和一些其他浏览不能自动计算,按所需的),也可以让我改变模型在飞行中形成,添加,删除和编辑字段,因为我在飞行中看到适合,但也使我的模型文件真正加载。
我的一位同事最近参加了一个关于设计模式的课程,认为这是不好的实践,说一个正常的MVC,每个单一模型的手动生成一个视图CRUD操作将是正确的方式来做到这一点,但我认为他错了,因为View本身并没有真正计算任何真正的逻辑(所有的逻辑实际上都保存在控制器上),它只计算“显示逻辑”,就像正确显示UX本身所需的逻辑一样。
有人可以对这些论点提出一些看法吗?
基本上有良好的开发过程的文档,在这里和那里都有解释性的注释,同时以更容易理解的方式更改“自动设计逻辑”变量名称实际上是一个很好的方法,对吗? 我的意思是我这样做,因为软件设计是不断变化的,所以不用编写,删除和编辑相同的东西,数百次这个接近我只需修改一个数组,添加/编辑/删除单个元素来获得结果显示在表示层,所以我的意图是加速维护。 –
是的,你错过了这一点,但是,嘿,如果你的老板让你这样做,那就去吧。 – Josh
好吧,事情是我在这种情况下是老板,而且我正在努力改进我在这件事上的决策,所以如果你能帮助我达到这一点,我想要了解它,我会喜欢它。 –