软件架构的10个常见模式
企业规模的软件系统该如何设计呢?在开始写代码之前,我们需要选择一个合适的架构,这个架构将决定软件实施过程中的功能属性和质量属性。因此,了解软件设计中的不同架构模式对我们的软件设计会有较大的帮助。
什么是架构模式? 根据维基百科:架构模式是针对特定软件架构场景常见问题的通用、可重用解决方案。架构模式类似于软件设计模式,但范围更广。本文将简要解释10种常见架构模式及其用法、优缺点。
分层模式(Layered pattern)客户端-服务器模式(Client-server pattern)主从模式(Master-slave pattern)管道-过滤器模式(Pipe-filter pattern)代理模式(Broker pattern)点对点模式(Peer-to-peer pattern)事件-总线模式(Event-bus pattern)模型-视图-控制器模式(Model-view-controller pattern)黑板模式(Blackboard pattern)解释器模式(Interpreter pattern)1. 分层模式
此模式用于可分解为子任务的结构化程序,每个子任务都位于特定的抽象层级,每一层都为上一层提供服务。一般信息系统最常见的4个层次如下。
表示层(也称为UI层)应用层(也称为服务层)业务逻辑层(也称为领域层)数据访问层(也称为持久层)应用场景:
一般的桌面应用程序电子商务web应用程序一般的移动App分层模式
2. 客户端-服务器模式
这种模式由两部分组成:服务器和多个客户端。服务器将向多个客户端提供服务。客户端从服务器请求服务,服务器向这些客户端提供相关服务。此外,服务器继续侦听客户端请求。
应用场景:
电子邮件、文档共享和银行等在线应用程序。基于IPC的应用程序客户端-服务器模式
3.主从模式
这种模式由两部分组成:主节点和从节点。主节点将工作分配给相同的从节点,并根据从节点返回的结果计算最终结果。
应用场景:
在数据库复制中,主数据库被视为权威源数据库,从数据库与之同步。通过总线连接到计算机系统(主驱动器和从驱动器)的外围设备。进程内的多线程应用。主-从模式
4.管道-过滤器模式
这种模式可用于构造生成和处理数据流的系统。每个处理步骤都包含一个过滤器组件。要处理的数据通过管道传递。这些管道可用于缓冲或同步目的。
应用场景:
编译器。连续过滤器执行词法分析、词法解析、语义分析和代码生成。生物信息学的工作流工具链式的应用程序管道-过滤器模式
5. 代理模式
这种模式通过解耦组件来构造分布式系统。这些组件可以通过远程服务调用彼此交互。代理组件负责协调组件之间的通信。服务器向代理发布功能(服务和特征)。客户端向代理请求服务,然后代理将客户端重定向到合适的服务。需要注意broker,agent,proxy以及delegate的区别。
应用场景:
消息代理软件,例如:Apache ActiveMQ、Apache Kafka、RabbitMQ和JBoss消息传递。网络传输中的代理软件。代理模式
6. P2P模式
在这种模式中,每个组件都称为对等节点。对等节点既可以作为客户机(从其他对等节点请求服务),也可以作为服务器(向其他对等节点提供服务)。对等节点可以充当单个客户机或服务器,也可以同时充当客户机和服务器,并且可以随着时间变化动态地更改角色。
使用场景:
文件共享网络,例如Gnutella和G2等。多媒体协议,如P2PTV和PDTP。P2P模式
7. 事件-总线模式
这种模式也被称为订阅发布模式,主要处理事件,有4个主要组件:事件源、事件监听者、通道和事件总线。事件源将消息发布到事件总线上的特定通道,监听者订阅特定的通道。消息发布到监听者之前订阅的通道,监听者将收到消息的通知。
使用场景:
安卓开发通知服务注册中心事件-总线模式
8. 模型-视图-控制器模式
这种模式,也称为MVC模式,将一个交互应用程序分为三个部分:
模型-包含核心功能和数据视图——向用户显示信息(可以定义多个视图)控制器——处理来自用户的输入这样做是为了将信息的内部表示、信息呈现给用户的方式、接受用户输入的方式分离开来。这种模式解耦组件并允许有效的代码重用。
应用场景:
一般的web应用程序架构Django和Rails等Web框架一般的GUI 应用程序模型-视图-控制器模式
9. 黑板模式
这种模式对于没有确定解决方案策略的问题非常有用。黑板图案由三个主要部分组成:
黑板:一个结构化的全局内存,包含来自解决方案空间的对象知识源:具有自己表示形式的专门化模块控制组件:选择、配置和执行模块所有的组件都可以到达黑板。组件可以生成添加到黑板上的新数据对象。组件在黑板上查找特定类型的数据,并通过与现有的知识源进行模式匹配找到这些数据。
应用场景:
语音识别车辆识别及追踪蛋白质结构识别声纳信号的解释黑板模式
10. 解释器模式
这种模式用于设计一个解释专用语言编写的程序组件。它主要指定如何评估每一行程序,即用特定语言编写的句子或表达式。其基本思想是语言的每个符号都有一个类。
应用场景:
数据库查询语言,如SQL。用于描述通信协议的语言。解释器模式
下面的表格总结了每种架构模式的优缺点。
作者: tshi & 老曹 20多年老程序员的技术生涯。
应用层(DNS、FTP、URL、HTTP、SMTP、POP3)
一.应用层概述
在TCP/IP模型中,应用层是网络协议栈中最高层的一层,负责处理网络应用之间的通信。
应用层的主要功能包括:
提供应用程序与网络之间的接口,使应用程序能够通过网络传输数据。
定义了应用层协议,如HTTP、SMTP、FTP等,用于规定应用程序之间的通信规则和数据格式。
实现了应用层协议的解析和处理,包括对数据的封装、路由、拆分和重组等。
提供了各种网络服务的功能,如电子邮件、文件传输、远程登录等。
应用层协议是应用程序直接使用的协议,因此应用层协议的设计需要考虑到应用程序的需求和特点。同时,应用层还负责将数据传输到传输层,将接收到的数据传递给相应的应用程序。
二.域名系统DNS
域名系统(Domain Name System, DNS)是互联网的基础服务之一,它将用户友好的域名(如www.example.com)转换为计算机可以理解的IP地址(如192.0.2.1)。这个过程称为域名解析。DNS的主要作用是通过将便于记忆的域名转换为实际的IP地址,帮助用户更方便地访问互联网资源。比如我们平常使用百度都是直接访问baidu.com而没有人去输入百度的IP地址,有了DNS的帮助,可以极大程度上优化用户的体验。
以下是DNS的基本工作原理:
用户输入域名:用户在浏览器地址栏输入域名。
DNS解析器查询:浏览器向本地DNS解析器发送查询请求。
本地缓存检查:本地DNS解析器先检查缓存中是否有对应的IP地址。
如果有缓存记录,则直接返回IP地址。
如果没有缓存记录,则继续向上级DNS服务器查询。
递归查询:如果本地DNS解析器没有找到结果,它会递归查询其他DNS服务器。查询过程通常从根DNS服务器开始,逐级向下查询顶级域(TLD)服务器和权威DNS服务器。
获得IP地址:最终,权威DNS服务器返回域名对应的IP地址。
返回结果:本地DNS解析器将IP地址返回给用户的浏览器。
建立连接:浏览器使用获得的IP地址与目标服务器建立连接,获取网页内容。
DNS系统分为多个层级,包括:
根域名服务器:管理顶级域(如.com、.org等)的信息。
顶级域(TLD)服务器:管理特定顶级域内的所有域名(如.com域的所有域名)。
权威DNS服务器:存储具体域名及其对应的IP地址信息。
缓存DNS服务器:保存近期解析过的DNS记录,减少重复查询。
▐ 域名结构
互联网的域名结构采用层次化的分级体系,每个域名由多个部分组成,从右到左依次为顶级域、二级域、三级域等,形成一个树状结构。以下是详细的域名结构:
顶级域(Top-Level Domain, TLD):通用顶级域(gTLD):如.com、.org、.net、.info等。国家代码顶级域(ccTLD):如.cn(中国)、.uk(英国)、.jp(日本)等。
二级域(Second-Level Domain, SLD):位于顶级域之下,通常由注册者选择和注册。例如,在example.com中,example是二级域。
三级域(Third-Level Domain):二级域下的子域。例如,在www.example.com中,www是三级域。
更低级别的域(Lower-Level Domains):根据需要,可以进一步划分为四级域、五级域等。例如,sub.www.example.com中,sub是四级域。
示例:
www.example.com
com:顶级域(TLD)
example:二级域(SLD)
www:三级域
三.文件传输协议FTP
FTP (File Transfer Protocol) 是一种用于在网络中传输文件的标准协议。它是一个客户端-服务器协议,允许用户通过客户端程序与远程服务器建立连接并进行文件的上传和下载。
使用FTP,用户可以在本地计算机和远程服务器之间传输文件。用户需要输入远程服务器的IP地址或域名、用户名和密码来建立连接。一旦连接建立成功,用户可以浏览服务器上的文件和目录,并进行文件的上传和下载。
FTP协议使用两个不同的连接:控制连接和数据连接。控制连接用于传输命令和回应,而数据连接用于传输实际的文件数据。
FTP支持多种操作,包括上传文件、下载文件、创建目录、删除文件、重命名文件、浏览文件列表等。同时,FTP还提供了认证和安全机制,如用户名和密码验证、加密传输等,以保护文件传输的安全性。
由于FTP是一种老旧的协议,存在一些安全性和性能方面的限制。因此,现在更常用的是基于FTP的安全协议,如SFTP (SSH File Transfer Protocol) 和FTPS (FTP over SSL/TLS)。这些协议通过加密和身份验证等机制提供更高的安全性和性能。
FTP协议使用两个不同的端口号:
控制连接端口(Command Port):默认使用端口号21。该端口用于建立控制连接,用于传输FTP命令和回应。
数据连接端口(Data Port):默认使用端口号20。该端口用于建立数据连接,用于传输实际的文件数据。
四.万维网WWW
万维网(World Wide Web)是一种基于超文本的联机信息系统,英文简称是Web,是互联网的一部分。它由一系列的网页(Web Page)组成,这些网页通过超链接(Hyperlink)相互连接。通过万维网,人们可以通过浏览器访问和浏览网页上的内容,如文本、图像、音频、视频等。
万维网的概念由英国科学家蒂姆·伯纳斯-李(Tim Berners-Lee)于1989年提出,并在1990年创造了第一个网页浏览器和服务器。万维网的设计理念是将信息以分布式的方式组织起来,使之能够被广泛地共享和访问。
通过万维网,人们可以搜索和获取各种信息,进行在线购物、在线娱乐、社交网络等活动。万维网以客户服务器方式工作,客户机向服务器发出请求,服务器程序向客户端程序送回客户想要的万维网文档。在这个过程中需要解决以下几个问题:
怎样标志分布在整个互联网上的万维网文档?
用什么样的协议来实现万维网上的各种链接?
怎样使不同作者创作的不同风格的万维网文档,都能在互联网上的各种主机上显示出来,同时使用户清楚地知道在什么地方存在着链接?
为了解决第一个问题,万维网使用统一资源定位符URL (Uniform Resource Locator)来标志万维网上的各种文档,并使每一个文档在整个互联网的范围内具有唯一的标识符URL。
为了解决上述的第二个问题,就要使万维网客户程序与万维网服务器程序之间的交互遵守严格的协议,这就是超文本传送协议HTTP(Hyper Text Transfer Protocol)。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。
为了解决上述的第三个问题,万维网使用超文本标记语言HTML(Hyper Text Markup Language),使得万维网页面的设计者可以很方便地用钱接从本页面的某处链接到互联网上的任何一个万维网页面,并且能够在自己的主机屏幕上格文些页面显示出来。最后,用户可使用搜索工具在万维网上方便地查找所需的信息。
▐ 统一资源定位符URL
统一资源定位符(Uniform Resource Locator, URL)是用于标识和定位互联网上的资源的字符串。URL是一种子集,属于更广泛的统一资源标识符(Uniform Resource Identifier, URI)家族。URL提供了资源的位置以及访问该资源的方法。
URL的结构
URL的基本结构由多个部分组成,每个部分都有特定的功能。这些部分通常以某种格式组合在一起,以便唯一地标识和访问资源。URL的典型结构如下:
scheme://userinfo@host:port/path?query#fragment
1. 方案(Scheme)
表示资源访问的协议类型,如http、https、ftp、mailto等。
例子:http、https。
2. 用户信息(Userinfo)
可选部分,包含用户名和密码,用于访问受保护的资源。
格式:username:password@。
例子:user:pass@。
3. 主机(Host)
表示资源所在的服务器,可以是域名或IP地址。
例子:www.example.com、192.0.2.1。
4. 端口(Port)
可选部分,指定访问资源的端口号,默认情况下HTTP使用80端口,HTTPS使用443端口。
格式::port。
例子::8080。
5. 路径(Path)
表示资源在服务器上的具体位置,通常以/分隔的层级结构表示。
例子:/path/to/resource。
6. 查询(Query)
可选部分,包含一些参数,用于向资源传递额外的信息。通常以键值对的形式表示,多组键值对用&分隔。
格式:?key1=value1&key2=value2。
例子:?search=example&lang=en。
7. 片段(Fragment)
可选部分,指向资源内的某个部分或位置,通常用于HTML文档中的锚点。
格式:#fragment。
例子:#section1。
URL示例
以下是一些URL的示例,展示了不同部分的组合和用途:
简单的HTTP URL
http://www.example.com/index.html
Scheme: http
Host: www.example.com
Path: /index.html
带有端口的URL
http://www.example.com:8080/index.html
Scheme: http
Host: www.example.com
Port: 8080
Path: /index.html
带有查询参数的URL
http://www.example.com/search?q=openai&lang=en
Scheme: http
Host: www.example.com
Path: /search
Query: q=openai&lang=en
URL在Web中的作用
资源定位:URL是访问网页、图片、视频等各种资源的基础。
导航和链接:URL用于超链接,帮助用户在不同网页和网站之间导航。
数据传递:通过查询参数传递数据,实现搜索、过滤等功能。
▐ 超文本传输协议HTTP
超文本传输协议(HyperText Transfer Protocol, HTTP)是用于在万维网上分布式、协作和超媒体信息系统中传输数据的应用层协议。HTTP是Web的基础,通过它,客户端和服务器能够互相通信并交换信息。
HTTP是一种无状态的协议,意味着每个请求和响应都是独立的,不保留任何状态信息。每次客户端发送请求时,都需要包含所有必要的信息,服务器在响应后不会保留任何请求的信息。
HTTP通信由请求(Request)和响应(Response)组成。客户端发送HTTP请求,服务器处理请求后返回HTTP响应。
HTTP请求
一个HTTP请求由以下部分组成:
请求行(Request Line):包含请求方法、请求目标(URI)和HTTP版本。
请求头(Request Headers):包含描述请求的元数据(例如,主机、用户代理、接受的内容类型等)。
空行:用于分隔请求头和请求体。
请求体(Request Body):可选,包含要发送到服务器的数据(如表单数据)。
示例请求:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
HTTP响应
一个HTTP响应由以下部分组成:
状态行(Status Line):包含HTTP版本、状态码和状态描述。
响应头(Response Headers):包含描述响应的元数据(例如,内容类型、内容长度等)。
空行:用于分隔响应头和响应体。
响应体(Response Body):可选,包含服务器返回的数据(如网页内容)。
示例响应:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>
常见的HTTP方法
GET:请求指定资源。只用于请求数据,不应修改服务器上的任何资源。
POST:向指定资源提交数据,通常用于表单提交。
PUT:向指定资源上传数据,替换目标资源的所有当前表示。
DELETE:请求删除指定资源。
HEAD:类似GET,但只请求资源的头部信息,不返回响应体。
OPTIONS:返回服务器支持的HTTP方法。
PATCH:对指定资源进行部分修改。
HTTP状态码
HTTP状态码由三位数字组成,表示服务器对请求的处理结果。常见状态码如下:
1xx(信息性):请求已接收,继续处理。
100 Continue
2xx(成功):请求已成功处理。
200 OK
201 Created
3xx(重定向):需要进一步操作以完成请求。
301 Moved Permanently
302 Found
4xx(客户端错误):请求包含错误或无法处理。
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
5xx(服务器错误):服务器在处理请求时发生错误。
500 Internal Server Error
502 Bad Gateway
503 Service Unavailable
HTTP的版本
HTTP/1.0:最初版本,支持基本的请求和响应功能。
HTTP/1.1:改进了持久连接、管道化传输、分块传输编码等。
HTTP/2:引入二进制分帧、多路复用、头部压缩等特性,提高了传输性能。
HTTP/3:基于QUIC协议,进一步提升传输效率和安全性。
HTTP广泛应用于Web浏览、API通信、文件传输等领域。它是浏览器与Web服务器、客户端与RESTful服务之间通信的主要协议。
▐ 超文本标记语言HTML
超文本标记语言(HTML)是一种用于创建网页的标记语言。HTML使用标签来描述网页中的各种元素和结构。这些标签被放置在尖括号(<>)中,并以开始标签和结束标签的形式出现,开始标签以"<"开头,结束标签以"/>"结尾。
HTML标记语言可以定义文本的结构、布局、链接、图像、音频、视频等内容。它允许开发人员在网页中插入文本、图像、链接等元素,并通过使用相关的属性来控制这些元素的外观和行为。
HTML是开放标准,由万维网联盟(W3C)负责维护和发展。它是网页开发的基础,在互联网上广泛应用。通过使用HTML,开发人员可以创建具有各种功能和交互性的网页,从简单的静态网页到复杂的动态网站。
以下就是一个简单的静态万维网文档
<!DOCTYPE html>
<html>
<head>
<title>页面标题</title>
</head>
<body>
<h1>这是一个标题</h1>
<p>这是一个段落。</p>
</body>
</html>
动态万维网文档
动态万维网文档(Dynamic Web Document)是一种根据用户的请求和动作而生成的网页内容。与静态网页不同,动态网页的内容不是预先编写好的静态HTML文件,而是根据服务器端的程序和数据库等进行实时生成的。
动态网页通常由两部分组成:前端和后端。前端部分负责处理用户的输入和交互,并将数据发送到后端。后端部分则根据接收到的数据进行处理,从数据库中检索所需的信息,对数据进行操作,最终生成动态内容,并将其发送回前端以供用户浏览。
动态网页的实现通常使用服务器端的脚本语言(如PHP、Python、Ruby等)和数据库(如MySQL、Oracle等)。通过这些技术,开发人员可以根据用户的需求和数据库中的数据生成具有个性化和实时性的网页内容。
动态网页的优点是可以实现更复杂的交互功能和个性化定制,适用于需要实时更新内容的场景,如社交媒体、电子商务网站等。然而,相对于静态网页而言,动态网页在加载速度上可能会稍慢,并且需要更多的服务器资源来处理和生成内容。
活动万维网文档
活动万维网文档(Active Web Document)是指具有动态交互性和实时更新能力的网页文档。与静态网页和动态网页相比,活动万维网文档更加具有实时性和个性化定制的特点。
活动万维网文档通过使用前端技术(如JavaScript)和后端技术(如服务器端脚本)实现动态交互功能。它可以根据用户的行为和输入,动态地改变网页的内容、样式和行为。常见的例子包括在线游戏、即时通讯、实时更新的股票报价等。
与动态万维网文档相比,活动万维网文档更加注重实时性和交互性。它可以通过使用前端技术实现实时的动画效果、实时响应用户的操作。而动态网页更加强调后端技术,通过服务器端的脚本和数据库等来生成和提供动态的网页内容。
总的来说,动态万维网文档是指通过服务器端脚本和数据库等实时生成的网页内容,而活动万维网文档是指具有动态交互性和实时更新能力的网页文档。活动万维网文档可以通过前端技术实现实时的动画效果和实时响应用户的操作,更加注重实时性和交互性。
五.邮件收发协议
常见的邮件收发协议有以下几种:
POP3(Post Office Protocol Version 3):是一种用于从邮件服务器上收取电子邮件的协议。它允许用户将电子邮件下载到本地设备上,并在本地设备上进行管理。
IMAP(Internet Message Access Protocol):与POP3类似,也是用于从邮件服务器上收取电子邮件的协议。不同的是,IMAP允许用户在本地设备上查看邮件的同时,也可以在服务器上对邮件进行管理,如创建文件夹、删除邮件等操作。
SMTP(Simple Mail Transfer Protocol):是一种用于发送电子邮件的协议。SMTP将邮件从发送者的邮件客户端发送到接收者的邮件服务器,并在服务器之间进行中转,直到邮件被送达到接收者的邮件服务器。
POP3S和IMAPS:分别是POP3和IMAP的安全版本,使用SSL/TLS加密通信,确保邮件在传输过程中的安全性。
这些协议在电子邮件的收发过程中扮演着重要的角色,保证了邮件的可靠传输和安全性。这里单独对SMTP简单解释一下。
SMTP(Simple Mail Transfer Protocol)是一种用于发送电子邮件的协议。它定义了邮件从发送者的邮件客户端发送到接收者的邮件服务器的传输规则。SMTP协议使用TCP作为传输层协议,它使用25号端口来进行通信。
在SMTP协议中,发送邮件的过程可以简单地分为以下几个步骤:
建立连接:发送者的邮件客户端通过向接收者的邮件服务器发送连接请求来建立连接。连接请求包括发送者的身份验证和连接建立的要求。
握手:接收者的邮件服务器接收到连接请求后,会发送一个握手响应,通知发送者连接已建立。
发送邮件:发送者通过SMTP命令向接收者的邮件服务器发送邮件内容。常用的SMTP命令包括HELO(发送者的身份验证)、MAIL FROM(指定发送者的电子邮件地址)、RCPT TO(指定接收者的电子邮件地址)、DATA(开始发送邮件内容)、QUIT(关闭连接)等。
传输邮件内容:发送者将邮件内容以文本格式发送给接收者的邮件服务器。邮件内容包括邮件主题、发件人、收件人、邮件正文、附件等。
邮件路由:接收者的邮件服务器根据收件人的地址,将邮件转发给相应的收件人。
结束连接:邮件发送完毕后,发送者的邮件客户端发送QUIT命令通知接收者的邮件服务器关闭连接。
SMTP协议的设计目标是快速、可靠地传递电子邮件,并提供一定的错误处理和反馈机制。它是电子邮件系统中不可或缺的一部分,广泛应用于各种邮件客户端和邮件服务器之间的通信。
相关问答
什么是构成 电子商务 系统的基本单元?电子商务系统的基本单元构成有6个方面。一是电子商务系统基础层:指电子商务系统的运行环境,包括计算机软件,硬件和网络平台。二是电子商务系统服务层:直接...
电子商务 系统组成有那些呢?电子商务系统主要有以下六个方面组成:1、电子商务系统基础层电子商务系统基础层是电子商务系统的运行环境,包括计算机软件、硬件和网络平台。2、电子商务...
电子商务的 安全体系结构主要包括哪些具体的层次?电子商务安全体系主要包括网络安全、物理安全、商务安全、系统安全四个方面。保障电子商务安全体系结构主要有以下几个方式:第一,网络安全。对...网络带宽...
什么是 电子商务 网站体系结构?电子商务网站一般都选用三层的B/S体系结构,即表示层、功能层和数据层。(1)表示层:web浏览器。在表示层中包含系统的显示逻辑,位于客户端。它的任务是由Web浏...
电子商务 属于什么行业,就业方向一般是如何的? - 懂得电子商务将传统的商务流程电子化、数字化,一方面以电子流代替了实物流,可以大量减少人力、物力,降低了成本;另一方面突破了时间和空间的限制,使得交...
软件开发的 应用领域 ?计算机软件在有两天主要的路线,一个是JAVA,一个是C,C++这两个是现在常见的软件开发语言,JAVA是面向对象的语言,主要是应用于一般的网站软件,应用层...
电子商务的 三层结构模型是什么?..._电子商务_帮考网应用层:包括电子商务应用系统,如在线购物、在线支付、电子商务门户等。2.技术层:包括电子商务技术平台,如网络基础...2.技术层:包括电子商务技...
商务楼 1层s区怎么翻译_作业帮[最佳回答]1stFloorinBusinessBuilding,ZoneS.或者ZONESofthe1stFloorinBusinessBuilding.这类翻译的原则是简单易懂.希...
SUN公司提出的三层结构 电子商务 系统概念..._电子商务_帮考网SUN公司提出的三层结构电子商务系统概念包括以下三个层次:1.应用层:该层包括电子商务应用程序,如在线购物、在线支付、在线客服等。这些应用程序可...
电子商务的 内容包括哪些?_作业帮[最佳回答]电子商务是指利用互联网为工具,使买卖双方不谋面地进行的各种商业和贸易活动.电子商务专业是融计算机科学、市场营销学、管理学、法学和现代物流...