ITPub博客

首页 > 应用开发 > IT综合 > 链动2+1模式开发(现成案例)

链动2+1模式开发(现成案例)

IT综合 作者:姚先生专业开发 时间:2023-05-05 10:08:52 0 删除 编辑

网上商城系统是什么呢?网上商城系统又叫做网上购物平台,主要是在互联网上提供商品销售和提供平台服务的电子商务系统。常见的网上商城系统有b2c商城系统、b2b2c商城系统、微信商城系统、小程序商城系统等,至于选择何种商城系统,则需要根据企业的实际需求来选择,如功能、开发语言...等。

  链动2+1模式的规则很简单,其中设立两种等级身份制度:老板以及代理。

  当用户想要从推广当中获得收益的时候,就需要购买平台制定的代理大礼包成为代理;

  而当代理想要获得更多奖励机制的话,2+1链动模式系统vvx(May21Hot),则需要推荐两位代理成为老板,成为老板即可获得三种奖励制度。

  架构设计

  在完成需求分析之后,需要进行架构设计。根据商城型购物网站的特点,我们可以采用以下的架构设计:

  商城型购物网站架构设计

  前端架构

  前端架构采用MVC架构,即Model-View-Controller,其中Model层负责数据的获取和处理,View层负责页面的展示,Controller层负责业务逻辑的处理。在前端架构中,我们采用React框架来实现组件化开发,并且采用Webpack打包工具来对代码进行打包和压缩。

  后端架构

  后端架构采用分布式架构,即将系统拆分为多个服务,并且采用微服务架构来进行管理。在后端架构中,我们采用Spring Cloud框架来实现微服务架构,并且采用MySql数据库来存储数据。

  中间件架构

  中间件架构采用缓存、消息队列、搜索引擎等中间件来提高系统的性能和可靠性。其中,我们选择Redis作为缓存中间件,选择Kafka作为消息队列中间件,选择ElasticSearch作为搜索引擎中间件。

  其实,开发应用商城,不外乎这么几点:

  1:异步加载app信息列表,主要是app的icon加载:

  为了app列表滚动刷新流畅,引入了线程池的思想,网络端加载信息的动作都在线程池中进行

  外码片段如下:

  public class AsyncImageLoader3{

  //为了加快速度,在内存中开启缓存(主要应用于重复图片较多时,或者同一个图片要多次被访问,比如在ListView时来回滚动)

  public Map>imageCache=new HashMap>();

  private ExecutorService executorService=Executors.newFixedThreadPool(8);//固定五个线程来执行任务

  private final Handler handler=new Handler();

  /**

  *

  * param imageUrl图像url地址

  * param callback回调接口

  * return返回内存中缓存的图像,第一次加载返回null

  */

  public Drawable loadDrawable(final String imageUrl,final ImageCallback callback){

  //如果缓存过就从缓存中取出数据

  if(imageCache.containsKey(imageUrl)){

  SoftReference softReference=imageCache.get(imageUrl);

  if(softReference.get()!=null){

  return softReference.get();

  }

  }

  //缓存中没有图像,则从网络上取出数据,并将取出的数据缓存到内存中

  executorService.submit(new Runnable(){

  public void run(){

  try{

  final Drawable drawable=Drawable.createFromStream(new URL(imageUrl).openStream(),"image.png");

  imageCache.put(imageUrl,new SoftReference(drawable));

  handler.post(new Runnable(){

  public void run(){

  callback.imageLoaded(drawable);

  }

  });

  }catch(Exception e){

  throw new RuntimeException(e);

  }

  }

  });

  return null;

  }

  //从网络上取数据方法

  protected Drawable loadImageFromUrl(String imageUrl){

  try{

  return Drawable.createFromStream(new URL(imageUrl).openStream(),"image.png");

  }catch(Exception e){

  throw new RuntimeException(e);

  }

  }

  //对外界开放的回调接口

  public interface ImageCallback{

  //注意此方法是用来设置目标对象的图像资源

  public void imageLoaded(Drawable imageDrawable);

  }

  }



作者:vvx_May21Hot

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70029042/viewspace-2950049/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
各类小程序软件定制开发,长期活动页面定制。 vvx:May21Hot

注册时间:2023-04-17

  • 博文量
    10
  • 访问量
    7021