球王会
Mou Mou Jidian Generator
发电机维修 发电机回收
发电机出售 发电机租赁
客户统一服务热线

039-493731760
15999322218

4静音发电机
您的位置: 主页 > 产品中心 > 静音发电机 >
球王会|法式员技术精进:面向工具与服务的分析与设计

球王会|法式员技术精进:面向工具与服务的分析与设计

本文摘要:面向工具分析与设计面向工具分析与设计是指凭据面向工具方法学对软件系统举行分析与设计。在面向工具分析与设计的界说中有三个关键词:面向工具、分析、设计。 所以,为了更好地明白面向工具分析与设计的作用,我们首先要明白什么是面向工具,以及面向工具分析和面向工具设计的原则。什么是面向工具面向工具是对现实世界举行明白和抽象的方法,是盘算机编程技术生长到一定阶段后发生的一种软件开发方法,具有抽象、封装、继续、多态等特征,还形成设计原则和设计模式的智慧结晶。

球王会

面向工具分析与设计面向工具分析与设计是指凭据面向工具方法学对软件系统举行分析与设计。在面向工具分析与设计的界说中有三个关键词:面向工具、分析、设计。

所以,为了更好地明白面向工具分析与设计的作用,我们首先要明白什么是面向工具,以及面向工具分析和面向工具设计的原则。什么是面向工具面向工具是对现实世界举行明白和抽象的方法,是盘算机编程技术生长到一定阶段后发生的一种软件开发方法,具有抽象、封装、继续、多态等特征,还形成设计原则和设计模式的智慧结晶。我们可以使用一张图来更为形象地展现面向工具所涉及内容之间的关系,如图3.21所示。图3.21面向工具的特征面向工具的特征如下。

(1)封装:指将相关属性和方法重组成一个新的工具,并提供对外会见的接口,对数据的会见或修改只能通过该接口举行。电商商品有拍下和支付等行为特征,但其实现细节对用户来说是不行见的,所以在举行商品购置的历程中,用户并不清楚生意业务是如何举行的,以及订单的状态是如何发生改变的,这就体现了工具的封装性。(2)继续:指某类工具可以继续其他类工具的属性和方法,是一种类之间的条理关系表达。

继续有单继续与多继续两种方式:单继续指子类只有一个父类;多继续指子类有一个以上的父类。继续是代码重用的详细体现之一,也破坏了工具的封装性,父类的公共属性和方法对子类开放,如果修改父类的公共属性和方法,就会导致所有子类的改变,这在一定水平上其实破坏了系统的可扩展性。(3)多态:指差别的类工具对同一消息做出响应,但同一消息可以凭据发送的差别工具举行差别的处置惩罚,最终获得差别的执行效果。接口的差别实现方式也被称为多态。

(4)抽象:指为了到达某种目的,对涉及的信息和现象举行过滤,将共性元素举行合并,这些元素同时具有独立性和特殊性。抽象也是面向工具分析与设计的基础。面向工具设计的原则为了设计出一个好的软件系统,就必须遵照一定的规则,而权衡软件设计质量的首要尺度就是该设计能否满足软件的功效需求。

除了功效需求,另有许多权衡软件设计质量的尺度,主要包罗高内聚、低耦合、可扩展和可复用。(1)高内聚:系统中的模块具有高度相关的职责,如果除了这些职责内的任务,没有过多的其他任务,该模块就具有高内聚性,反之具有低内聚性。而且系统中的模块与模块之间有较高的协作性,也就是常说的单一责任原则。

(2)低耦合:耦合指元素与元素之间毗连、感知和依赖的水平。这里所说的元素,可以指功效、工具(类),也可以指系统、子系统、模块。

耦合度越低,系统越独立,可扩展性就会越好,所以在设计系统时首先要思量对元素的划分。(3)可扩展:用于应对更大规模的业务及软件的发展,通常接纳动态加载的插件、回调函数、抽象接口及认真设计的代码结构和类条理结构,使系统在面临不停变化的需求时,其代码不被大量重构开发,好比添加新功效或修改完善现有功效。(4)可复用:又叫作重用,即重复使用,可以使用已有的代码或者相关模块去实现新的功效需求,实现高效、低成本和高质量。面向工具是一种解决现实问题的思想,让我们把重点放在现实的客体上。

我们可以通过 UML弄清楚这些客体之间的关系,最后把客体与客体之间的关系用面向工具的语言表达出来。客体与客体之间的关系如图3.22所示。图3.22回首前面先容的将大象放入冰箱的例子,我们如何使用面向工具思想实现这个例子呢?首先,找泛起实世界中的行动和实体:①打开冰箱;②将大象放入冰箱;③关闭冰箱。然后,抽象出观点:①冰箱、可以打开门、可以存储、可以关门;②大象、体重、体积。

最后,用盘算机中的类来实现该逻辑关系,这样就有了elephant和fridge两个类。面向工具的代码实现如下:虽然面向工具起初专指在法式设计中接纳封装、继续、多态、抽象等设计方法,然而现在它已经渗透到软件开发的各个方面,好比面向工具的分析(OOA)、面向工具的设计(OOD)和面向工具的编程(OOP)等环节,其在各环节的职责如下。(1)在需求分析阶段接纳面向工具的分析方法,这个阶段不需要思考怎么用法式实现它,只需要思考和分析需求中稳定稳定的客体是什么,这些客体之间的关系又是什么,以及完成提要建模。

(2)在设计阶段接纳面向工具的设计方法,把在需求分析阶段分析出来的需求进一步扩充为模型,酿成可实现的、切合成本的、模块化的、低耦合高内聚的模型。(3)在编程开发阶段接纳面向工具的编程语言来详细实现在前一个阶段获得的业务模型。

面向服务分析与设计面向服务(SOA)是一种架构想想,可以是跨语言的,也可以是跨平台的,其宗旨就是凭据项目的服务完成架构搭建,以服务为基准点完成系统的组件化和模块化。好比,在电商系统中提供商品搜索服务、商品查询服务、用户信息服务、订单查询服务,等等,这些都是由电商系统提供的服务,这些服务由一个个的业务点组成,一个服务就是一条业务线,整个项目的服务体系可以说是由种种各样的业务点组成的,并由业务线串联而成,而服务的实现历程就是面向服务分析与设计。Web Service模式在Web Service模式下,服务提供者建立服务,并决议将其公然并公布。

公布是通过将服务信息公布到服务目录上来完成的。另外,服务消费者将在服务目录中搜索满足须要条件的服务,在找到服务后,通过服务目录中的可用服务信息,就能够以正确的方式直接挪用服务提供者,从而满足业务的需求。其历程如图3.23所示。

图3.23对Web Service中的一些术语解释说明如下。◎ 服务提供者:指服用的被挪用方,即为其他服务提供服务的服务。

球王会官网

◎ 服务消费者:指服务的挪用方,即依赖其他服务的服务。◎ 服务目录:用于向消费者提供可以用的服务目录。

◎ SOAP(Simple Object Access Protocol,简朴工具会见协议):是交流数据的一种协议规范,是一种轻量的、简朴的、基于XML 的协议,它被设计成在 Web 上交流结构化的和牢固化的信息。◎ WSDL(Web Service Description Language,Web服务形貌语言):用来形貌Web服务公布的XML花样。◎ UDDI ( Universal Description Discovery andIntegration):指通用的形貌、发现、集成服务,用来存储服务信息的目录及形貌服务界面的目录。

我们可以通过 UDDI凭据自己的需要动态查找并使用We b服务,也可以将自己的We b服务动态公布到UDDI注册中心,供其他用户使用。ESB模式ESB(Enterprise Service Bus,企业服务总线)提供服务对接、协议转换、消息传输、数据转换、内容路由等功效,隐藏了服务提供者的物理位置、协议和数据花样,由中间件产物技术实现,通过事件驱动和XML消息引擎为更庞大的面向服务的架构提供服务。ESB通常在企业的消息系统上提供一个抽象层,可以资助设计者使用消息(不用编码)就能完成集成事情,其架构如图3.24所示。图3.24微服务架构微服务架构是SOA架构的延续,是一种比力现代化的细粒度的SOA实现方式,强调业务需要彻底组件化和服务化,也就是说,系统需要根据业务界限做细粒度的拆分和部署。

这样,原有的单个业务系统会被拆分为多个可以独立开发、设计和运行的微服务系统,这些微服务之间通过REST(Representational State Transfer)完成交互和集成。那么,微服务架构又具有什么样的特点呢?可简朴归纳为如下三点。(1)独立部署、灵活扩展。传统的单体架构是以整个系统为单元举行部署的,而微服务架构是以每一个独立组件为单元举行部署的,可以凭据每个服务的高并发要求的差别举行差别的部署。

好比,服务A需要部署10台机械,服务B需要部署20台机械,而服务C只需要部署3台机械,像这种灵活的部署方案只有微服务架构才气实现,近几年盛行的容器化更为微服务架构提供了高效、灵活的部署方案。(2)资源的有效隔离。微服务设计的原则之一,就是每一个微服务都拥有独立的数据源,如果微服务 A想要读写微服务 B的数据库,则只能挪用微服务 B对外袒露的接口来完成,这样就有效制止了服务之间争用数据库缓和存资源所带来的问题。另外,由于每一个微服务实例都运行在差别的容器中,所以更好地实现了服务器资源(好比内存、CPU等)的隔离,如图3.25所示。

图3.25(3)敏捷的组织结构。微服务设计的思想也改变了原有的企业研发团队的组织架构,从以往水平的职能型团队酿成了垂直的业务型团队。职能型团队和业务型团队的架构如图 3.26和图3.27所示。

图3.26图3.27固然,微服务架构也带来了种种各样的问题,如下所述。◎ 微服务架构把原有的项目拆成多个独立的工程,增加了开发、测试和运维的庞大度。

◎ 微服务架构需要保证差别服务之间的数据一致性,引入了漫衍式事物和最终一致性机制,为设计和开发带来了挑战。◎ 许多微服务的拆分粒渡过大,导致服务的挪用链过长,性能降低,维护成本增加。领域驱动设计可以弥补微服务架构中的许多不足,为微服务架构提供指导思想,好比服务拆分的粒度和事务合理设计等,下面重点先容领域驱动设计的详细方法。

本文给大家解说的内容是法式员技术精进: 面向工具与服务的分析与设计下篇文章给大家解说的是法式员技术精进: 领域驱动设计, 领域模型实践;以为文章不错的朋侪可以转发此文关注小编;谢谢大家的支持!。


本文关键词:球王,会,法式,员,技术,精进,面向,工具,球王会,与

本文来源:球王会-www.sxxinmiao.com

Copyright © 2005-2022 www.sxxinmiao.com. 球王会科技 版权所有  ICP备案:ICP备35211827号-3