写点什么

2+1 链动模式商城开发系统案例

  • 2023-03-28
    广东
  • 本文字数:1455 字

    阅读完需:约 5 分钟

2+1链动模式商城开发系统案例

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


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


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


而当代理想要获得更多奖励机制的话,则需要推荐两位代理成为老板,成为老板即可获得三种奖励制度。


架构设计


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


商城型购物网站架构设计


前端架构


前端架构采用 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);


}


}

用户头像

技术开发咖 2020-10-28 加入

区块链开发技术观察员

评论

发布
暂无评论
2+1链动模式商城开发系统案例_NFT_薇電13242772558_InfoQ写作社区