让我们把注意力集中到中间服务层上来。中间服务层代码比较简单,只是调用数据访问层代码将留言保存到数据库。如代码1所示:
// 代码 1
// 中间服务层
class LWordServiceCore implements ILWordService {
// 添加留言
public function append( $newLWord ) {
// 调用数据访问层
$dbTask = new LWordDBTask();
$dbTask -> append( $newLWord );
}
};
在看到留言板的演示之后,公司的产品部和市场部或许会提出各种各样的想法和需求。比如他们希望在添加留言之前判断用户的权限!只有注册用户才能留言!我们需要修改代码,如代码2所示:
// 代码 2, 增加登录验证
// 中间服务层
class LWordServiceCore implements ILWordService {
// 添加留言
public function append( $newLWord ) {
if (!($userLogin)) {
// 提示用户登录
}
// 调用数据访问层
$dbTask = new LWordDBTask();
$dbTask -> append( $newLWord );
}
};
市场部又希望在添加留言之前,对留言内容进行检查,如果留言中含有脏话就不保存。我们继续修改代码,如代码3所示:
// 代码 3, 增加脏话过滤
// 中间服务层
class LWordServiceCore implements ILWordService {
// 添加留言
public function append( $newLWord ) {
if ( ! ( $userLogin )) {
// 提示用户登录
}
if (stristr($newLWord, "SB")) {
// 含有脏话, 提示留言发送失败
}
// 调用数据访问层
$dbTask = new LWordDBTask();
$dbTask -> append( $newLWord );
}
};
产品部也提出了新需求,他们希望加入积分机制。具体来讲就是在用户每次留言成功以后给用户+5分。我们继续修改代码,如代码4所示:
// 代码 4, 加入留言积分机制
// 中间服务层
class LWordServiceCore implements ILWordService {
// 添加留言
public function append( $newLWord ) {
if ( ! ( $userLogin )) {
// 提示用户登录
}
if ( stristr ( $newLWord , " SB " )) {
// 含有脏话, 提示留言发送失败
}
// 调用数据访问层
$dbTask = new LWordDBTask();
$dbTask -> append( $newLWord );
// 给用户加分
$score = getUserScore($userName);
$score = $score +