记一次业余项目的敏捷开发实践
本次是在原有ApiTemplate项目之上,增加一个用户登录权限控制模块,用于验证ApiTemplate项目在面对一些简单问题时,如何抽象并支持未来的扩展。用户登录权限控制模块看上去很简单,但由于业余时间总是有限的。所以借助此机会实践一次用户敏捷开发。首先拆分模块,本次只实现用户登录和登出。 apitemplate项目地址: https://github.com/cqhaibin/ApiTemplate 一、总结放前面 最小化任务范围 本次任务只限定在了《用户名+密码登录》这个任务上,并且不包含数据的持久化, 这样在做的时候反复考查自己,不让自己超出范围。所以 查询用户注册信息、在线用户存储相关接口只做定义和模拟实现,不做具体的存储实现 考虑到业务逻辑是稳定的,而存储是可变的,所以数据库实体对象与业务实体对象分离 给任务一个期限 像本次就只列出了任务的期限,而没有列出每个子阶段的期限,如:一个需求必须要经过需求分析、模块设计、代码实现等阶段。这些子阶段也需要给出具体的期限。 从外向里逐层推进 定义UI/服务层接口 因为UI接口有多种提供方式(如:rest api, rpc等),所以基本以服务层接口为标准,UI接口层只是做了一次简单转换和调用。其中UI/服务层接口输入/输出参数的Moddel也随之定义(两层共享Model) 实现服务层接口 此步实现服务层接口