分层设计与依赖查找

好比有一个生成验证码的功能,有两个需求,一个是要图片验证码,一个是要向短信发送验证码,两个需求的逻辑都可分为三个步骤:生成验证码,将验证码保存到session中,发送验证码。在第三步中,图片是以流的形式将验证码图片写到前台界面,短信是将验证码发送到手机上。如此看来,可将两种需求的逻辑抽象成一个接口,在此接口中定义一个创建验证码的方法,然后用一个抽象类来实现该接口,抽象类中将步骤一和步骤二实现了(用到了依赖查找,后面再说),然后步骤三是个抽象方法,最后图片和短信的实现类再来继承此抽象类实现第三个步骤。

现在来说依赖查找,在controller中注入一个map,value指定为创建验证码的总接口,spring会将接口的实现类放入map中(key为实例的名字,value为实例),现在map中就会有两个Entry对象(短信和图片的),然后就可以通过rest请求中的变量来决定使用哪一个生成器了。在抽象类中也同理注入了一个map,通过请求来生成不同的码生成器实现步骤一。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,556评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 一个工程当中,为了让我们能够更清晰的看出工程的结构目录,或者我们在某行代码中需要有一个解释说明的地方,就要用到注释...
    遛遛食阅读 1,589评论 2 0
  • 半夜十一点半了,依然倔强的不想睡去,直接把柔软的枕头扔到了床脚,枕着僵硬的床板跟睡神努力抗争着,上眼皮早已跟放下了...
    浅浅落落阅读 300评论 4 0
  • 下午就那样委屈的不行,走进办公室后,感受到后面一个人冰冷,一个人假意讨好,我突然够了。是自己太傻,太容易相信人,以...
    梅子Mey阅读 318评论 15 2