Heim  >  Artikel  >  Backend-Entwicklung  >  单元测试 - php中有什么好用的设计模式?

单元测试 - php中有什么好用的设计模式?

WBOY
WBOYOriginal
2016-06-06 20:52:30925Durchsuche

在最近的项目中,用到了数据访问对象,模板,命令模式。感觉对改进结构起到了很好的作用。用命令模式改进了控制器的if分枝结构, action代码简化到两行。

目前的一个问题是控制器没法做单元测试, 只好尽量简化代码。

各位有什么好的经验么?

推荐一本好书:重构与模式。

回复内容:

在最近的项目中,用到了数据访问对象,模板,命令模式。感觉对改进结构起到了很好的作用。用命令模式改进了控制器的if分枝结构, action代码简化到两行。

目前的一个问题是控制器没法做单元测试, 只好尽量简化代码。

各位有什么好的经验么?

推荐一本好书:重构与模式。

没有绝对好用的,有时候你会在这段时间比较钟情于一种设计模式,认为它就是世界上最完美的设计模式了,这就是你一辈子的唯一,你逢人就会忍不住夸它,时时挂在嘴边。

但也许下个项目你就会彻底忘掉它。你说的这些还属于程序结构的范畴,我的经验是不要在项目开始的时候就想着重构,这样你会不断纠结于原来的代码无法自拔,相信大家都听过一个程序员改代码的典故,上级让一个程序员加一个功能,最后这个程序员直接把别人的东西重写了一遍。我想衡量一个程序员是否成熟的标志就是他能否在合适的时候抑制这种冲动吧。

至于你说的控制器无法测试的问题,我想是不存在的。不过这得邀请QA来回答了。

无法单元测试,很可能是由于不同层中的依赖过强,而且产生依赖的方式不够优雅,很零乱,导致你无法轻易替换这种依赖来进行单元测试。

你说的是控制器无法很好的单元测试,我猜应该是由于是因为数据持久层导致的,大师MF推荐的是领域模型来很好的解决这个依赖问题,不过会增加项目的复杂度,这个是需要架构师来权衡的一个点!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn