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

作者:亚搏手机版app下载体育官网发布时间:2023-02-01 00:45

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

亚搏手机版app下载体育官网

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

我们可以使用一张图来更为形象地展现面向工具所涉及内容之间的关系,如图3.21所示。图3.21面向工具的特征面向工具的特征如下。

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

(2)继续:指某类工具可以继续其他类工具的属性和方法,是一种类之间的条理关系表达。继续有单继续与多继续两种方式:单继续指子类只有一个父类;多继续指子类有一个以上的父类。继续是代码重用的详细体现之一,也破坏了工具的封装性,父类的公共属性和方法对子类开放,如果修改父类的公共属性和方法,就会导致所有子类的改变,这在一定水平上其实破坏了系统的可扩展性。

(3)多态:指差别的类工具对同一消息做出响应,但同一消息可以凭据发送的差别工具举行差别的处置惩罚,最终获得差别的执行效果。接口的差别实现方式也被称为多态。(4)抽象:指为了到达某种目的,对涉及的信息和现象举行过滤,将共性元素举行合并,这些元素同时具有独立性和特殊性。抽象也是面向工具分析与设计的基础。

面向工具设计的原则为了设计出一个好的软件系统,就必须遵照一定的规则,而权衡软件设计质量的首要尺度就是该设计能否满足软件的功效需求。除了功效需求,另有许多权衡软件设计质量的尺度,主要包罗高内聚、低耦合、可扩展和可复用。

(1)高内聚:系统中的模块具有高度相关的职责,如果除了这些职责内的任务,没有过多的其他任务,该模块就具有高内聚性,反之具有低内聚性。而且系统中的模块与模块之间有较高的协作性,也就是常说的单一责任原则。(2)低耦合:耦合指元素与元素之间毗连、感知和依赖的水平。

亚搏手机版app下载体育官网

这里所说的元素,可以指功效、工具(类),也可以指系统、子系统、模块。耦合度越低,系统越独立,可扩展性就会越好,所以在设计系统时首先要思量对元素的划分。(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中的一些术语解释说明如下。

◎ 服务提供者:指服用的被挪用方,即为其他服务提供服务的服务。◎ 服务。


本文关键词:法式,员,技术,精进,面向,工具,与,服务,亚搏体育app苹果下载,的

本文来源:亚搏手机版app下载体育官网-www.hljqsnkp.com