MVC架构网站应用

MVC(model-view-control)我就不解释了,直接说了。

model用于封装数据库对象,和一些基础操作,比如日志,登陆。

control给view提供服务,他通过model提供的对象来实现业务逻辑。

要做到model独立,就要彻底把对象自身和业务逻辑分离开。

比如model里面有DBGoodsManager对象,这个对象只是用来提供对Goods的所有操控方法。

操控成功,给出必要结果,并返回true,false表示操作成功或失败。

关键问题:

写错误日志应该独立出来,应该是model层的一部分。所以写错误日志操作应该在control层进行。

那么如果DBGoodsManager对象自身中出现错误怎么办?

返回false,并给出错误信息。模型层调用者去识别这个错误,并写日志。

那么错误就要分等级,以供外部方法决定怎么处理。简单的考虑为程序自身问题造成的错误,和外部数据造成的错误。

比如,客户端输入非法数据并提交,那么服务器端检测部分代码检测到数据不合法,则认定为外部数据造成错误,这种错误是正确的,因为程序自身是正确的。

在比如,客户端输入分发数据并提交,服务器端的检测部分代码没有检测出来,导致数据库操控对象中出现错误的时候,那么数据库操作对象就可以认为系统自身出了问题,这属于严重错误,因为程序没有按照预定计划运行。

对于外部数据造成的错误,错误等级level=1;对于程序自身的错误,错误等级level=0。

对于一处错误,要给出两种错误信息,一种用于内部日志记录,另一种用于对客户端发布。

这样我们在分析系统错误日志的时候,就很容易看到系统是不是按照预定计划运行的了。

相关推荐