directive的一些学习，关注点分离、测试驱动开发