Skip to content

Gyappy/AndroidRecentTask

Repository files navigation

AndroidRecentTask

模拟微信多个小程序在概览屏幕中可见的效果,加入了一些设计模式相关的实践,由于是个小DEMO,有点过度设计的味道。

在安卓设备上 微信中打开小程序后返回,可以在最近使用的程序概览中查看到打开过的小程序,如果是打开普通的服务号公众号则不会,应该是微信在不同的子程序容器的启动配置做上做了处理。

  • 加入动漫《火影忍者》的元素,以几个影级别的忍者代表有特殊能力的小程序,几个普通上忍中忍代表普通的服务号公众号。
  • 项目中分为配置模块,忍者工厂模块,分工明确,低耦合,符合单一职责原则。
  • 不同的忍者使用不同的工厂方法实例化,业务层只需要和具体的忍者工厂接触。不依赖具体的生产逻辑,符合依赖倒转原则。
  • 忍者以及具体的工厂都用相应的接口和抽象类约束,各模块只和接口交互,面向接口编程,符合里氏代换。同时不同的接口分工明确,接口分离。
  • 配置模块涉及到多个初始化入参的配置,采用builder模式提升代码的优雅程度。
  • 一些npe等代码鲁棒性相关的判空操作,已收敛到基类中。

About

模拟微信多个小程序在概览屏幕中可见的效果

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages