Giter VIP home page Giter VIP logo

ecommall's Introduction

ECom商城

  1. ECom商城是一个基于MVP+dagger+arouter实现的android商城,开发模式采用了MVP+dagger,组件间路由采用arouter, 网络通信使用了okhttp+retrofit+rxJava2,配置存储采用MMKV,数据传递采用EventBus,图片加载使用glide, 可用于android中级及以上学习此架构、android团队直接参考此架构进行开发。
  2. 架构设计文档
  3. 项目特点
  • 组件化:层次清晰,模块间耦合度较低,易于管理的维护
  • MVP:功能清晰,添加或修改功能方便,将model和view层完全分离
  • dagger:更好地依赖管理、规范代码、提高解偶能力
  • webview独立进程:更优秀的性能
  • rxJava2: 异步和链式操作

架构介绍

架构图

arch

模块介绍

  1. 通用组件,又称业务无关组件,根据来源分为开源库和基础组件库,开源库是我们在项目中经常会用到的第三方库,比如okhttp、rxJava等,基础组件库是我们自己定义的和业务无关的组件,主要包括BaseMvp、工具类、自定义的Widget、http等
  2. 业务组件,和业务相关的组件
  • lib_push: 推送组件,负责推送服务
  • lib_share: 第三方分享
  • lib_im: 即时聊天的服务
  • lib_webview: 独立进程webview,用于和h5之间进行交互
  1. 业务模块,根据业务的联系紧密程度来拆分
  • module_main: 首页模块,包括启动页、欢迎页、首页等;
  • module_goods: 商品模块,包括商品分类、商品详情、商品搜索等;
  • module_user: 用户模块,包括个人中心、登录等;
  • module_order:订单模块,包括订单确认、订单列表等;
  • module_msg: 消息模块,包括客服消息等;
  1. APP壳,是app的入口模块,包括manifest配置、加载各个模块、打包配置等,基于应用安全考虑,通过调用C层的加密方法将业务模块加密

待完成

  1. 独立进程webview;
  2. im;
  3. UI: 购物车、首页;
  4. lib_push;

参考

  1. 知乎 Android 客户端组件化实践
  2. 浅谈项目架构重构之路——组件化与MVP
  3. 架构师的思维,聊一聊APP组件化的那些事儿 备用
  4. WanAndroid架构源码
  5. 仿京东app
  6. MVPArms
  7. Android WebView独立进程解决方案 github地址

联系我们

ecommall's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.