电子商务平台,是一个历史悠久而又充满挑战的行业,他和社交一起成为中国互联网市场的两极。电子商务系统是一个非常复杂的系统,他实现了人与物、人与人的链接,同时也需要大量的技术来支撑,实现系统的高可用。这些技术包括DevOPS、容器技术、领域驱动设计、物联网、微服务、全文检索等。电商涉及的技术体系非常庞大,对开发者来说是一个充满挑战的宝库,可以说电商业务的技术学习可以贯穿职业生涯的非常漫长的时间。不过在此之前,我们先实现一个最简单的理想模型 ,只考虑最简单的实现模式,下面这个项目是从一个典型的电商项目中,抽出的一些典型场景。
这个项目目前采用C#进行构建,其主要目的是搭建一个极简的电商平台的demo。在这个简单的电子商务系统中,采用目前不少企业使用的比较传统的软件管理方式,以ER图设计为主然后再从数据库出发设计业务的传统模式,而不是按照UML的方式进行软件设计再进行软件功能开发。在本项目中,设计了顾客、商家、商品、订单四个简单的表结构,
1、顾客:负责下单,购买商品。
2、商家:负责对商品信息和价格信息进行维护。
3、商品:商品的描述信息。
4、订单:顾客下单记录为订单。
本项目主要实现了以下功能:
1、商家:可以进行商品信息的维护。
2、顾客:可选择下单的商品=》建立订单,以及查询订单。
项目的代码地址为:https://github.com/buildyoucode/eshopdemo.git
作业:
1、浅议以ER图为先的开发模式存在的弊端。
2、部署MariaDB数据库,建立一个数据库名字为eshop,并执行对应data目录下的sql脚本。
3、使用visual studio将项目运行起来,并试指出项目中存在的问题。
4、请按照《构建之法》和《软件工程》中介绍的模式,进行UML设计。
5、按照软件工程基本特性对软件进行重构。
6、请按照《构建之法》中使用visual studio工具进行单元测试的编写。
7、在项目中,使用了左连接和全连接实现数据的查询,请问这两种有什么区别?在这样的场景下,使用连接查询合适吗?
 

【构建之法教学项目】一个简单的基于C#的电子商务系统演练场景的代码示例的更多相关文章

  1. 通过Dapr实现一个简单的基于.net的微服务电商系统(十三)——istio+dapr构建多运行时服务网格之生产环境部署

    之前所有的演示都是在docker for windows上进行部署的,没有真正模拟生产环境,今天我们模拟真实环境在公有云上用linux操作如何实现istio+dapr+电商demo的部署. 目录:一. ...

  2. struts1:(Struts重构)构建一个简单的基于MVC模式的JavaWeb

    在构建一个简单的基于MVC模式的JavaWeb 中,我们使用了JSP+Servlet+JavaBean构建了一个基于MVC模式的简单登录系统,但在其小结中已经指出,这种模式下的Controller 和 ...

  3. 构建一个简单的基于MVC模式的JavaWeb

    零晨三点半了,刚刚几个兄弟一起出去吼歌,才回来,这应该是我大学第二次去K歌,第一次是大一吧,之后每次兄弟喊我,我都不想去,因为我还是很害怕去KTV,或许是因为那里是我伤心的地方,也或许是因为我在那里失 ...

  4. 通过Dapr实现一个简单的基于.net的微服务电商系统(十二)——istio+dapr构建多运行时服务网格

    多运行时是一个非常新的概念.在 2020 年,Bilgin Ibryam 提出了 Multi-Runtime(多运行时)的理念,对基于 Sidecar 模式的各种产品形态进行了实践总结和理论升华.那到 ...

  5. 通过Dapr实现一个简单的基于.net的微服务电商系统

    本来想在Dpar 1.0GA时发布这篇文章,由于其他事情耽搁了放到现在.时下微服务和云原生技术如何如荼,微软也不甘示弱的和阿里一起适时推出了Dapr(https://dapr.io/),园子里关于da ...

  6. 通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr

    目录:一.通过Dapr实现一个简单的基于.net的微服务电商系统 二.通过Dapr实现一个简单的基于.net的微服务电商系统(二)--通讯框架讲解 三.通过Dapr实现一个简单的基于.net的微服务电 ...

  7. 通过Dapr实现一个简单的基于.net的微服务电商系统(十四)——开发环境容器调试小技巧

    之前有很多同学提到如何做容器调试,特别是k8s环境下的容器调试,今天就讲讲我是如何调试的.大家都知道在vs自带的创建项目模板里勾选docker即可通过F5启动docker容器调试.但是对于启动在k8s ...

  8. 通过Dapr实现一个简单的基于.net的微服务电商系统(十五)——集中式接口文档实现

    之前有小伙伴在评论区留言说如何集成swagger,最开始没有想透给了对方一个似是而非的回答.实际上后来下来想了一下,用.NET5 提供的Source Generator其实可以很方便的实现接口集成.今 ...

  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(十九)——分布式事务之Saga模式

    在之前的系列文章中聊过分布式事务的一种实现方案,即通过在集群中暴露actor服务来实现分布式事务的本地原子化.但是actor服务本身有其特殊性,场景上并不通用.所以今天来讲讲分布式事务实现方案之sag ...

随机推荐

  1. 设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示(2.Azure Functions实战)

    本案例适用于开发者入门理解Azure Functions/ IoT Hub / Service Bus / Power BI等几款产品. 主要实战的内容为: 将设备遥测数据上传到物联网中心, 将遥测数 ...

  2. ObjectPool 对象池设计模式

    Micosoft.Extension.ObjectPool 源码架构.模式分析: 三大基本对象: ObjectPool抽象类 ObjectPoolProvider抽象类 IPooledObjectPo ...

  3. Dubbo简介与基本概念

    场景 分布式系统的发展演变以及RPC简介: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103555049 Dubbo简介 Ap ...

  4. SpringCloud -创建统一的依赖管理

    场景 Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性 Token,全居琐,Leader 选举,分布式 Session,集群状态)中快速构 ...

  5. C#开发微信小程序(五)

    导航:C#开发微信小程序系列 关于小程序项目结构,框架介绍,组件说明等,请查看微信小程序官方文档,关于以下贴出来的代码部分我只是截取了一些片段,方便说明问题,如果需要查看完整源代码,可以在我的项目库中 ...

  6. VS2019 开发Django(四)------models

    导航:VS2019开发Django系列 继上篇我们匆匆迁移数据库成功之后,又花了一个晚上研究了Django的模型,这里的模型其实就是ORM模型中的Entity,.Net里边用的比较多的有Entity ...

  7. mac-安装sshpass

    在配置了ssh免密认证id_rsa.pub之后,在cmd终端可以实现免密登陆对应配置了密钥的服务器,但是在python程序中,想要调用cmd执行免密操作,还需要安装sshpass,sshpass用于非 ...

  8. 修改Android源码实现原生应用双开,应用多开

    1. 准备 把某系统双开的两个app的信息进行对比 1.1 目录的对比 1.1.1 data目录对比 原应用: /data/user/0/com.luoyesiqiu.crackme/files 被复 ...

  9. 如何将本地的项目推送到github

    一.创建密钥 1.本地终端命令行生成密钥 访问密钥创建的帮助文档:https://help.github.com/en/github/authenticating-to-github/generati ...

  10. Azure上的时序见解,Time series insights

    5G来了,广连接(mmTC)可以实现每平方千米100万的连接数(理论值),是4G的10倍,5G网络出现,配合其他技术,空间将在数据意义上剧烈压缩,车联网.智能家居.智能安防.智慧工厂.智慧能源都可能带 ...