MVC架构网站应用
MVC(model-view-control)我就不解释了,直接说了。
model用于封装数据库对象,和一些基础操作,比如日志,登陆。
control给view提供服务,他通过model提供的对象来实现业务逻辑。
要做到model独立,就要彻底把对象自身和业务逻辑分离开。
比如model里面有DBGoodsManager对象,这个对象只是用来提供对Goods的所有操控方法。
操控成功,给出必要结果,并返回true,false表示操作成功或失败。
关键问题:
写错误日志应该独立出来,应该是model层的一部分。所以写错误日志操作应该在control层进行。
那么如果DBGoodsManager对象自身中出现错误怎么办?
返回false,并给出错误信息。模型层调用者去识别这个错误,并写日志。
那么错误就要分等级,以供外部方法决定怎么处理。简单的考虑为程序自身问题造成的错误,和外部数据造成的错误。
比如,客户端输入非法数据并提交,那么服务器端检测部分代码检测到数据不合法,则认定为外部数据造成错误,这种错误是正确的,因为程序自身是正确的。
在比如,客户端输入分发数据并提交,服务器端的检测部分代码没有检测出来,导致数据库操控对象中出现错误的时候,那么数据库操作对象就可以认为系统自身出了问题,这属于严重错误,因为程序没有按照预定计划运行。
对于外部数据造成的错误,错误等级level=1;对于程序自身的错误,错误等级level=0。
对于一处错误,要给出两种错误信息,一种用于内部日志记录,另一种用于对客户端发布。
这样我们在分析系统错误日志的时候,就很容易看到系统是不是按照预定计划运行的了。