物联网工程师需要学习一下几个方面:
1、物联网产业与技术导论:全面了解物联网之RFID、M2M、传感网、两化融合等技术与应用。
2、C语言程序设计:物联网涉及底层编程,C语言为必修课,同时需要了解OSGi,OPC,Silverlight等技术标准。
3、单片机原理及应用:物联网的底层单片机及其相关应用技术,包括控制、多媒体等。
4、Java程序设计:物联网应用层,服务器端集成技术,开放Java培训技术也是必修课,同时需要了解Eclipse,SWT,Flash,HTML5等技术使用。
5、物联网工程概论:全面了解物联网基本知识、技术体系以及相关理论,对物联网的关键技术,如EPC和RFID技术、传感器技术、无线传感器网络技术、M2M技术等。同时应对与物联网密切相关的云计算、智能技术、安全技术也进行论述。
6、无线传感网络概论:学习各种无线RF通讯技术与标准,Zigbee,蓝牙,WiFi,GPRS,CDMA,3G,4G,5G等等。
7、TCP/IP网络与协议:TCP/IP以及OSI网络分层协议标准是所有有线和无线网络协议的基础,Socket编程技术也是基础技能。
8、嵌入式系统技术:嵌入式系统是物联网感知层和通讯层重要技术。
9、传感器技术概论:物联网专业学生需要对传感器技术与发展,尤其是在应用中如何选用有所了解,但不一定需要了解传感器的设计与生产,对相关的材料科学,生物技术等有深入了解。
10、RFID技术概论:RFID作为物联网主要技术之一,需要了解。
11、工业信息化及现场总线技术:工业信息化也是物联网主要应用领域,需要了解。
物联网软件、标准、与中间件技术:物联网产业发展的关键在于应用,软件是灵魂,中间件是产业化的基石,需要学习和了解。
常见的大数据术语表(中英对照简版):A
聚合(Aggregation) – 搜索、合并、显示数据的过程
算法(Algorithms) – 可以完成某种数据分析的数学公式
分析法(Analytics) – 用于发现数据的内在涵义
异常检测(Anomaly detection) –
在数据集中搜索与预期模式或行为不匹配的数据项。除了“Anomalies”,用来表示异常的词有以下几种:outliers, exceptions,
surprises, contaminants他们通常可提供关键的可执行信息
匿名化(Anonymization) – 使数据匿名,即移除所有与个人隐私相关的数据
应用(Application) – 实现某种特定功能的计算机软件
人工智能(Artificial Intelligence) –
研发智能机器和智能软件,这些智能设备能够感知周遭的环境,并根据要求作出相应的反应,甚至能自我学习
B
行为分析法(Behavioural Analytics) –
这种分析法是根据用户的行为如“怎么做”,“为什么这么做”,以及“做了什么”来得出结论,而不是仅仅针对人物和时间的一门分析学科,它着眼于数据中的人性化模式
大数据科学家(Big Data Scientist) – 能够设计大数据算法使得大数据变得有用的人
大数据创业公司(Big data startup) – 指研发最新大数据技术的新兴公司
生物测定术(Biometrics) – 根据个人的特征进行身份识别
B字节 (BB: Brontobytes) – 约等于1000 YB(Yottabytes),相当于未来数字化宇宙的大小。1
B字节包含了27个0!
商业智能(Business Intelligence) – 是一系列理论、方法学和过程,使得数据更容易被理解
C
分类分析(Classification analysis) – 从数据中获得重要的相关性信息的系统化过程; 这类数据也被称为元数据(meta
data),是描述数据的数据
云计算(Cloud computing) – 构建在网络上的分布式计算系统,数据是存储于机房外的(即云端)
聚类分析(Clustering analysis) –
它是将相似的对象聚合在一起,每类相似的对象组合成一个聚类(也叫作簇)的过程。这种分析方法的目的在于分析数据间的差异和相似性
冷数据存储(Cold data storage) – 在低功耗服务器上存储那些几乎不被使用的旧数据。但这些数据检索起来将会很耗时
对比分析(Comparative analysis) – 在非常大的数据集中进行模式匹配时,进行一步步的对比和计算过程得到分析结果
复杂结构的数据(Complex structured data) –
由两个或多个复杂而相互关联部分组成的数据,这类数据不能简单地由结构化查询语言或工具(SQL)解析
计算机产生的数据(Computer generated data) – 如日志文件这类由计算机生成的数据
并发(Concurrency) – 同时执行多个任务或运行多个进程
相关性分析(Correlation analysis) – 是一种数据分析方法,用于分析变量之间是否存在正相关,或者负相关
客户关系管理(CRM: Customer Relationship Management) –
用于管理销售、业务过程的一种技术,大数据将影响公司的客户关系管理的策略
D
仪表板(Dashboard) – 使用算法分析数据,并将结果用图表方式显示于仪表板中
数据聚合工具(Data aggregation tools) – 将分散于众多数据源的数据转化成一个全新数据源的过程
数据分析师(Data analyst) – 从事数据分析、建模、清理、处理的专业人员
数据库(Database) – 一个以某种特定的技术来存储数据集合的仓库
数据库即服务(Database-as-a-Service) – 部署在云端的数据库,即用即付,例如亚马逊云服务(AWS: Amazon Web
Services)
数据库管理系统(DBMS: Database Management System) – 收集、存储数据,并提供数据的访问
数据中心(Data centre) – 一个实体地点,放置了用来存储数据的服务器
数据清洗(Data cleansing) – 对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性
数据管理员(Data custodian) – 负责维护数据存储所需技术环境的专业技术人员
数据道德准则(Data ethical guidelines) – 这些准则有助于组织机构使其数据透明化,保证数据的简洁、安全及隐私
数据订阅(Data feed) – 一种数据流,例如Twitter订阅和RSS
数据集市(Data marketplace) – 进行数据集买卖的在线交易场所
数据挖掘(Data mining) – 从数据集中发掘特定模式或信息的过程
数据建模(Data modelling) – 使用数据建模技术来分析数据对象,以此洞悉数据的内在涵义
数据集(Data set) – 大量数据的集合
数据虚拟化(Data virtualization) –
数据整合的过程,以此获得更多的数据信息,这个过程通常会引入其他技术,例如数据库,应用程序,文件系统,网页技术,大数据技术等等
去身份识别(De-identification) – 也称为匿名化(anonymization),确保个人不会通过数据被识别
判别分析(Discriminant analysis) –
将数据分类;按不同的分类方式,可将数据分配到不同的群组,类别或者目录。是一种统计分析法,可以对数据中某些群组或集群的已知信息进行分析,并从中获取分类规则。
分布式文件系统(Distributed File System) – 提供简化的,高可用的方式来存储、分析、处理数据的系统
文件存贮数据库(Document Store Databases) – 又称为文档数据库(document-oriented database),
为存储、管理、恢复文档数据而专门设计的数据库,这类文档数据也称为半结构化数据
E
探索性分析(Exploratory analysis) –
在没有标准的流程或方法的情况下从数据中发掘模式。是一种发掘数据和数据集主要特性的一种方法
E字节(EB: Exabytes) – 约等于1000 PB(petabytes), 约等于1百万 GB。如今全球每天所制造的新信息量大约为1
EB
提取-转换-加载(ETL: Extract, Transform and Load) –
是一种用于数据库或者数据仓库的处理过程。即从各种不同的数据源提取(E)数据,并转换(T)成能满足业务需要的数据,最后将其加载(L)到数据库
F
故障切换(Failover) – 当系统中某个服务器发生故障时,能自动地将运行任务切换到另一个可用服务器或节点上
容错设计(Fault-tolerant design) – 一个支持容错设计的系统应该能够做到当某一部分出现故障也能继续运行
G
游戏化(Gamification) –
在其他非游戏领域中运用游戏的思维和机制,这种方法可以以一种十分友好的方式进行数据的创建和侦测,非常有效。
图形数据库(Graph Databases) –
运用图形结构(例如,一组有限的有序对,或者某种实体)来存储数据,这种图形存储结构包括边缘、属性和节点。它提供了相邻节点间的自由索引功能,也就是说,数据库中每个元素间都与其他相邻元素直接关联。
网格计算(Grid computing) – 将许多分布在不同地点的计算机连接在一起,用以处理某个特定问题,通常是通过云将计算机相连在一起。
H
Hadoop – 一个开源的分布式系统基础框架,可用于开发分布式程序,进行大数据的运算与存储。
Hadoop数据库(HBase) – 一个开源的、非关系型、分布式数据库,与Hadoop框架共同使用
HDFS – Hadoop分布式文件系统(Hadoop Distributed File
System);是一个被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统
高性能计算(HPC: High-Performance-Computing) – 使用超级计算机来解决极其复杂的计算问题
I
内存数据库(IMDB: In-memory) –
一种数据库管理系统,与普通数据库管理系统不同之处在于,它用主存来存储数据,而非硬盘。其特点在于能高速地进行数据的处理和存取。
物联网(Internet of Things) – 在普通的设备中装上传感器,使这些设备能够在任何时间任何地点与网络相连。
J
法律上的数据一致性(Juridical data compliance) –
当你使用的云计算解决方案,将你的数据存储于不同的国家或不同的大陆时,就会与这个概念扯上关系了。你需要留意这些存储在不同国家的数据是否符合当地的法律。
K
键值数据库(KeyValue Databases) –
数据的存储方式是使用一个特定的键,指向一个特定的数据记录,这种方式使得数据的查找更加方便快捷。键值数据库中所存的数据通常为编程语言中基本数据类型的数据。
L
延迟(Latency) – 表示系统时间的延迟
遗留系统(Legacy system) – 是一种旧的应用程序,或是旧的技术,或是旧的计算系统,现在已经不再支持了。
负载均衡(Load balancing) – 将工作量分配到多台电脑或服务器上,以获得最优结果和最大的系统利用率。
位置信息(Location data) – GPS信息,即地理位置信息。
日志文件(Log file) – 由计算机系统自动生成的文件,记录系统的运行过程。
M
M2M数据(Machine2Machine data) – 两台或多台机器间交流与传输的内容
机器数据(Machine data) – 由传感器或算法在机器上产生的数据
机器学习(Machine learning) –
人工智能的一部分,指的是机器能够从它们所完成的任务中进行自我学习,通过长期的累积实现自我改进。
MapReduce – 是处理大规模数据的一种软件框架(Map: 映射,Reduce: 归纳)。
大规模并行处理(MPP: Massively Parallel Processing) –
同时使用多个处理器(或多台计算机)处理同一个计算任务。
元数据(Metadata) – 被称为描述数据的数据,即描述数据数据属性(数据是什么)的信息。
MongoDB – 一种开源的非关系型数据库(NoSQL database)
多维数据库(Multi-Dimensional Databases) – 用于优化数据联机分析处理(OLAP)程序,优化数据仓库的一种数据库。
多值数据库(MultiValue Databases) – 是一种非关系型数据库(NoSQL),
一种特殊的多维数据库:能处理3个维度的数据。主要针对非常长的字符串,能够完美地处理HTML和XML中的字串。
N
自然语言处理(Natural Language Processing) –
是计算机科学的一个分支领域,它研究如何实现计算机与人类语言之间的交互。
网络分析(Network analysis) – 分析网络或图论中节点间的关系,即分析网络中节点间的连接和强度关系。
NewSQL – 一个优雅的、定义良好的数据库系统,比SQL更易学习和使用,比NoSQL更晚提出的新型数据库
NoSQL –
顾名思义,就是“不使用SQL”的数据库。这类数据库泛指传统关系型数据库以外的其他类型的数据库。这类数据库有更强的一致性,能处理超大规模和高并发的数据。
O
对象数据库(Object Databases) –
(也称为面象对象数据库)以对象的形式存储数据,用于面向对象编程。它不同于关系型数据库和图形数据库,大部分对象数据库都提供一种查询语言,允许使用声明式编程(declarative
programming)访问对象
基于对象图像分析(Object-based Image Analysis) –
数字图像分析方法是对每一个像素的数据进行分析,而基于对象的图像分析方法则只分析相关像素的数据,这些相关像素被称为对象或图像对象。
*** 作型数据库(Operational Databases) –
这类数据库可以完成一个组织机构的常规 *** 作,对商业运营非常重要,一般使用在线事务处理,允许用户访问 、收集、检索公司内部的具体信息。
优化分析(Optimization analysis) –
在产品设计周期依靠算法来实现的优化过程,在这一过程中,公司可以设计各种各样的产品并测试这些产品是否满足预设值。
本体论(Ontology) – 表示知识本体,用于定义一个领域中的概念集及概念之间的关系的一种哲学思想。(译者注:
数据被提高到哲学的高度,被赋予了世界本体的意义,成为一个独立的客观数据世界)
异常值检测(Outlier detection) –
异常值是指严重偏离一个数据集或一个数据组合总平均值的对象,该对象与数据集中的其他它相去甚远,因此,异常值的出现意味着系统发生问题,需要对此另加分析。
P
模式识别(Pattern Recognition) – 通过算法来识别数据中的模式,并对同一数据源中的新数据作出预测
P字节(PB: Petabytes) – 约等于1000 TB(terabytes), 约等于1百万 GB
(gigabytes)。欧洲核子研究中心(CERN)大型强子对撞机每秒产生的粒子个数就约为1 PB
平台即服务(PaaS: Platform-as-a-Service) – 为云计算解决方案提供所有必需的基础平台的一种服务
预测分析(Predictive analysis) –
大数据分析方法中最有价值的一种分析方法,这种方法有助于预测个人未来(近期)的行为,例如某人很可能会买某些商品,可能会访问某些网站,做某些事情或者产生某种行为。通过使用各种不同的数据集,例如历史数据,事务数据,社交数据,或者客户的个人信息数据,来识别风险和机遇
隐私(Privacy) – 把具有可识别出个人信息的数据与其他数据分离开,以确保用户隐私。
公共数据(Public data) – 由公共基金创建的公共信息或公共数据集。
Q
数字化自我(Quantified Self) – 使用应用程序跟踪用户一天的一举一动,从而更好地理解其相关的行为
查询(Query) – 查找某个问题答案的相关信息
R
再识别(Re-identification) – 将多个数据集合并在一起,从匿名化的数据中识别出个人信息
回归分析(Regression analysis) –
确定两个变量间的依赖关系。这种方法假设两个变量之间存在单向的因果关系(译者注:自变量,因变量,二者不可互换)
RFID – 射频识别; 这种识别技术使用一种无线非接触式射频电磁场传感器来传输数据
实时数据(Real-time data) – 指在几毫秒内被创建、处理、存储、分析并显示的数据
推荐引擎(Recommendation engine) – 推荐引擎算法根据用户之前的购买行为或其他购买行为向用户推荐某种产品
路径分析(Routing analysis) –
针对某种运输方法通过使用多种不同的变量分析从而找到一条最优路径,以达到降低燃料费用,提高效率的目的
S
半结构化数据(Semi-structured data) –
半结构化数据并不具有结构化数据严格的存储结构,但它可以使用标签或其他形式的标记方式以保证数据的层次结构
情感分析(Sentiment Analysis) – 通过算法分析出人们是如何看待某些话题
信号分析(Signal analysis) – 指通过度量随时间或空间变化的物理量来分析产品的性能。特别是使用传感器数据。
相似性搜索(Similarity searches) – 在数据库中查询最相似的对象,这里所说的数据对象可以是任意类型的数据
仿真分析(Simulation analysis) –
仿真是指模拟真实环境中进程或系统的 *** 作。仿真分析可以在仿真时考虑多种不同的变量,确保产品性能达到最优
智能网格(Smart grid) – 是指在能源网中使用传感器实时监控其运行状态,有助于提高效率
软件即服务(SaaS: Software-as-a-Service) – 基于Web的通过浏览器使用的一种应用软件
空间分析(Spatial analysis) – 空间分析法分析地理信息或拓扑信息这类空间数据,从中得出分布在地理空间中的数据的模式和规律
SQL – 在关系型数据库中,用于检索数据的一种编程语言
结构化数据(Structured data)
-可以组织成行列结构,可识别的数据。这类数据通常是一条记录,或者一个文件,或者是被正确标记过的数据中的某一个字段,并且可以被精确地定位到。
T
T字节(TB: Terabytes) – 约等于1000 GB(gigabytes)。1 TB容量可以存储约300小时的高清视频。
时序分析(Time series analysis) –
分析在重复测量时间里获得的定义良好的数据。分析的数据必须是良好定义的,并且要取自相同时间间隔的连续时间点。
拓扑数据分析(Topological Data Analysis) –
拓扑数据分析主要关注三点:复合数据模型、集群的识别、以及数据的统计学意义。
交易数据(Transactional data) – 随时间变化的动态数据
透明性(Transparency) – 消费者想要知道他们的数据有什么作用、被作何处理,而组织机构则把这些信息都透明化了。
U
非结构化数据(Un-structured data) – 非结构化数据一般被认为是大量纯文本数据,其中还可能包含日期,数字和实例。
V
价值(Value) – (译者注:大数据4V特点之一)
所有可用的数据,能为组织机构、社会、消费者创造出巨大的价值。这意味着各大企业及整个产业都将从大数据中获益。
可变性(Variability) – 也就是说,数据的含义总是在(快速)变化的。例如,一个词在相同的推文中可以有完全不同的意思。
多样(Variety) – (译者注:大数据4V特点之一)
数据总是以各种不同的形式呈现,如结构化数据,半结构化数据,非结构化数据,甚至还有复杂结构化数据
高速(Velocity) – (译者注:大数据4V特点之一) 在大数据时代,数据的创建、存储、分析、虚拟化都要求被高速处理。
真实性(Veracity) – 组织机构需要确保数据的真实性,才能保证数据分析的正确性。因此,真实性(Veracity)是指数据的正确性。
可视化(Visualization) –
只有正确的可视化,原始数据才可被投入使用。这里的“可视化”并非普通的图型或饼图,可视化指是的复杂的图表,图表中包含大量的数据信息,但可以被很容易地理解和阅读。
大量(Volume) – (译者注:大数据4V特点之一) 指数据量,范围从Megabytes至Brontobytes
W
天气数据(Weather data) – 是一种重要的开放公共数据来源,如果与其他数据来源合成在一起,可以为相关组织机构提供深入分析的依据
X
XML数据库(XML Databases) –
XML数据库是一种以XML格式存储数据的数据库。XML数据库通常与面向文档型数据库相关联,开发人员可以对XML数据库的数据进行查询,导出以及按指定的格式序列化
Y
Y字节 (Yottabytes) – 约等于1000 ZB (Zettabytes),
约等于250万亿张DVD的数据容量。现今,整个数字化宇宙的数据量为1 YB, 并且将每18年翻一番。
Z
Z字节 (ZB: Zettabytes) – 约等于1000 EB (Exabytes), 约等于1百万
TB。据预测,到2016年全球范围内每天网络上通过的信息大约能达到1 ZB。
附:存储容量单位换算表:
1 Bit(比特) = Binary Digit
8 Bits = 1 Byte(字节)
1,000 Bytes = 1 Kilobyte
1,000 Kilobytes = 1 Megabyte
1,000 Megabytes = 1 Gigabyte
1,000 Gigabytes = 1 Terabyte
1,000 Terabytes = 1 Petabyte
1,000 Petabytes = 1 Exabyte
1,000 Exabytes = 1 Zettabyte
1,000 Zettabytes = 1 Yottabyte
1,000 Yottabytes = 1 Brontobyte
1,000 Brontobytes = 1 Geopbyte
——预见2023:《2023年中国物联网产业全景图谱》(附市场规模、竞争格局和发展前景等)
行业主要上市公司:大富科技(300134)、梦网集团(002123)、共进股份(603118)、胜宏科技(300476)、润和软件(300339)、立昂技术(300603)等
定义
所谓“物联网”(Internet of
Things,IOT),又称传感网,指的是将各种信息传感设备,如射频识别(RFID)装置、红外感应器、全球定位系统、激光扫描器等种种装置与互联网连接起来并形成一个可以实现智能化识别和可管理的网络。
早期的物联网是指依托射频识别技术的物流网络,随着技术和应用的发展,物联网的内涵已经发生了较大的变化。现阶段,物联网是指在物理世界的实体中部署具有一定感知能力、计算能力和执行能力的各种信息传感设备,通过网络设施实现信息传输、协同和处理,从而实现广域或大范围的人与物、物与物之间信息交换需求的互联。物联网依托多种信息获取技术,包括传感器、射频识别(RFID)、二维码、多媒体采集技术等。物联网的几个关键环节可以归纳为“感知、传输、处理”。
产业发展前景:物联网将继续保持高速增长
1、发展前景:市场规模不断扩大,产业物联网占比逐渐上升
物联网是中国新一代信息技术自主创新突破的重点方向,蕴含着巨大的创新空间,在芯片、传感器、近距离传输、海量数据处理以及综合集成、应用等领域,创新活动日趋活跃,创新要素不断积聚。物联网在各行各业的应用不断深化,将催生大量的新技术、新产品、新应用、新模式。中国以加快转变经济发展方式为主线,更加注重经济质量和人民生活水平的提高,采用包括物联网在内的新一代信息技术改造升级传统产业,提升传统产业的发展质量和效益,提高社会管理、公共服务和家居生活智能化水平。未来巨大的市场需求将为物联网带来难得的发展机遇和广阔的发展空间。综合多方面的情况分析,前瞻认为未来6年中国物联网的发展将保持高速增长,到2027年市场规模超过7万亿元。
根据信通院于2020年12月发布的《2020中国物联网白皮书》,2019年中国物联网连接数中产业物联网和消费者市场各占一半,预计到2025年,物联网连接数的大部分增长来自于产业市场,产业物联网的连接数将占到总体的61%。由此来看,未来产业物联网的市场发展潜力大于消费物联网。
2、发展趋势:重点城市带动周边城市发展,分工协作格局将进一步显现
国内物联网产业已初步形成环渤海、长三角、珠三角,以及中西部地区等四大区域集聚发展的总体产业空间格局。其中,长三角地区产业规模位列四大区域的首位。未来中国物联网产业空间演变将呈现出三大趋势:
更多本行业研究分析详见前瞻产业研究院《中国物联网行业细分市场需求与投资机会分析报告》。
物联网应用技术是指将物理设备、传感器、软件、网络等技术应用在实际生活中,通过数据采集、处理、传输和应用,实现智能化、自动化、可视化的管理和控制。学习物联网应用技术需要掌握以下几个方面:
传感器技术:了解各种传感器的工作原理、特点、应用场景和选择方法,掌握传感器数据采集、处理和传输的基本技术。
无线通信技术:了解各种无线通信技术的特点、应用场景和选择方法,掌握无线传感器网络、蓝牙、WiFi、LoRa等通信技术的基本原理和应用。
云计算和大数据技术:了解云计算和大数据技术的基本概念、架构和应用,掌握数据采集、存储、处理和分析的基本方法和工具。
数据安全和隐私保护技术:了解数据安全和隐私保护的基本原理和方法,掌握数据加密、身份认证、访问控制等技术的应用。
应用开发和系统集成技术:了解物联网应用开发和系统集成的基本原理和方法,掌握各种开发工具和平台的使用,能够进行物联网应用的设计、开发和调试。
总之,学习物联网应用技术需要掌握多个方面的知识和技能,需要综合运用各种技术和工具,不断地学习和实践,才能够掌握物联网应用技术的核心内容,应对日益复杂和多样化的应用场景。
在应用系统开发中,采用严格的、单一的、真正的的分层架构是可以的,但实际上我们已经采用了多种架构模式设计系统。当多种不同范式的架构混合在一起,你会不会出现“指鹿为马”的现象呢?
在研究分层架构时,常通过概念性的定义或 OSI 七层应用(架构)来说明或解释分层架构:
取自《 POSA , VolI , p22 》
作为一个在项目中引入分层架构的应用者,我们应该从更具体的规范来实现分层架构:
《 POSA , VolI 》 为我们提供了更多的实现规范,然而我要解决的是有关层的 单向依赖 问题。因为有一些人在使用分层架构时,尤其是将分层架构引入到项目的目录结构时,对于某些对象的划分(从属)存在一些混乱问题。
如果你有兴趣了解更多分层架构的实现规范,可参考:《 POSA , VolI 》第二十六页到第二十九页相关知识。
在领域驱动设计(DDD)中采用的是 松散分层架构 ,层间关系不那么严格。每层都可能使用它下面所有层的服务,而不仅仅是下一层的服务。每层都可能是半透明的,这意味着有些服务只对上一层可见,而有些服务对上面的所有层都可见。
注意:松散分层架构依然是单向依赖,表明上层只能调用下层的服务,下层不能调用上层的服务。
同时在领域驱动设计(DDD)中也采用了 继承分层架构 ,高层继承并实现低层接口。我们需要调整一下各层的顺序,并且将 基础设施层 移动到最高层。
注意:继承分层架构依然是单向依赖,这也意味着领域层、应用层、表现层将不能依赖基础设施层,相反基础设施层可以依赖它们。
领域层 UserRepository 接口:
基础设施层 JpaUserRepository 实现类:
我们确实使用包来划分层级,但是包名并不能真正表示分层。
我们通常将资源库的实现放置在基础设施层,这是因为我们采用了 继承分层架构 。如果你现在采用的是 松散分层架构 ,你需要将资源库的实现放置在领域层。这是层的单向依赖原则所致,你不应该破坏这个原则。没有任何理由需要破坏分层架构的单向依赖原则,除非你不采用分层架构。
我们应该从混乱到有序的这个历史过程去研究(分析)分层架构,尤其是我们现在处在前后端分离的环境下,应用系统使用分层架构又面临着什么样的划分变化。
应用系统使用分层架构在第三阶段基本已经成熟。因为我们要探讨的是有关领域驱动设计(DDD)的分层架构,所以我们依然需要做进一步补充。具体包括两方面的补充:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)