多平台统一管理软件接口,如何实现多平台统一管理软件接口
521
2023-01-03
本文目录一览:
即:多个特定的客户端接口要好于一个通用性的总接口。
需要注意的是:接口的粒度也不能太小。如果过小,则会造成接口数量过多,使设计复杂化。
避免同一个接口里面包含不同类职责的方法,接口责任划分更加明确,符合高内聚低耦合的思想。
下面通过一个餐厅服务的例子讲解一下接口分离原则。
现在的餐厅除了提供传统的店内服务,多数也都支持网上下单,网上支付功能。写一些接口方法来涵盖餐厅的所有的下单及支付功能。
在这里声明了一个接口,它包含了下单和支付的几种方式:
对应的,我们有三种下单方式的顾客:
1.online下单,online支付的顾客
2.电话下单,online支付的顾客
3.在店里下单并支付的顾客:
我们发现,并不是所有顾客都必须要实现 RestaurantProtocol 里面的所有方法。 由于接口方法的设计造成了冗余,因此该设计不符合接口隔离原则 。
那么如何做才符合接口隔离原则呢?我们来看一下较好的设计。
要符合接口隔离原则,只需要将不同类型的接口分离出来即可。我们将原来的 RestaurantProtocol 接口拆分成两个接口:下单接口和支付接口。
下单接口:
支付接口:
现在有了下单接口和支付接口,我们就可以让不同的客户来以自己的方式实现下单和支付操作了:
首先创建一个所有客户的父类,来遵循这个两个接口:
接着另online下单,电话下单,店内下单的顾客继承这个父类,分别实现这两个接口的方法:
1.online下单,online支付的顾客
2.电话下单,online支付的顾客
3.在店里下单并支付顾客:
因为我们把不同职责的接口拆开,使得接口的责任更加清晰,简洁明了。不同的客户端可以根据自己的需求遵循所需要的接口来以自己的方式实现。
而且今后如果还有和下单或者支付相关的方法,也可以分别加入到各自的接口中,避免了接口的臃肿,同时也提高了程序的内聚性。
下面来看一下这两个设计的UML 类图,可以更形象地看出两种设计上的区别:
未实践接口分离原则:
实践了接口分离原则:
在设计接口时,尤其是在向现有的接口添加方法时,我们需要仔细斟酌这些方法是否是处理同一类任务的:如果是则可以放在一起;如果不是则需要做拆分。
做iOS开发的朋友对 UITableView 的 UITableViewDelegate 和 UITableViewDataSource 这两个协议应该会非常熟悉。这两个协议里的方法都是与 UITableView 相关的,但iOS SDK的设计者却把这些方法放在不同的两个协议中。原因就是这两个协议所包含的方法所处理的任务是不同的两种:
很显然, UITableView 协议的设计者很好地实践了接口分离的原则,值得我们大家学习。
教学设计的原则有教学系统接口设计6大原则:系统性原则、最优化原则、教学目标和内容设计的可接受性原则、教学手段设计的多样化原则。
1、系统性原则教学系统接口设计6大原则:
教学设计是一项系统工程教学系统接口设计6大原则,它由教学目标和教学对象的分析、教学内容、方法和媒体的选择、教学环境的创设和教学评估与反馈等子系统所组成。各子系统相对独立教学系统接口设计6大原则,又相互依存、相互制约教学系统接口设计6大原则,组成一个有机整体。
2、最优化原则:
教学设计是一项系统工程,诸子系统的排列组合具有程序性特点,即诸子系统有序地成层级结构排列,且前一子系统制约、影响着后一子系统,而后一子系统依存并制约着前一子系统。根据教学设计的程序性特点,教学设计中应体现出其程序的规定性及联系性,确保教学设计的科学性。
3、教学目标和内容设计的可接受性原则:
在教学设计诸子系统中,教学目标起着制约其他子系统的作用,教师所确立的教学目标是不是学生“应该而又能够接受”的知识、技能或态度,决定教学的成效。一般来说,教师所确定的教学目标应符合学生心智发展水平其跨度要适中,应落于学生的最近发展区。
关于教学系统接口设计6大原则和系统接口设计怎么写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 教学系统接口设计6大原则的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于系统接口设计怎么写、教学系统接口设计6大原则的信息别忘了在本站进行查找喔。版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~