软件接口

开放架构,无限价值——漫谈SuperMap GIS的开放式体系架构

╄→гoц情女王★ 提交于 2019-12-02 02:33:55
开放架构,无限价值——漫谈SuperMap GIS的开放式体系架构 这是一篇2012年的老文章,今天看来还有价值。 开放平台已经成为一个大趋势。本文将探讨开放平台概念的内涵,SuperMap GIS的体系架构组成和为开发者提供的开放平台价值,介绍SuperMap平台扩展应用的多种技术方式以及GIS应用系统随着架构发展升级的技术路线图。 开放体系架构简介 致力于建设一个支撑性和兼容性高、稳定性和适应性强、灵活性和扩展性好的架构,是GIS基础平台厂商一致追求的最高目标。因为,只有稳定的架构,才能很好 地支撑业务系统的不断发展,保护二次开放商和最终用户的投资,让其IT资产不断增值,带来足够的回报,从而形成良性的循环,并进一步支持软件平台的持续发展。 1. 开放平台基本概念 开放平台将系统的API通过标准化的方式来实现,让更多的人可以直接调用系统平台的功能,从而可以实现更好的融合和个性化定制,更好地满足最终用户独特的业务需求。 开放平台不是简单地开放系统的函数或者直接开放源代码就可以实现的,而是需要付出更多的努力,才能完全实现方便的数据集成、功能融合和流程整合的用户体验,达到真正开放的效果。成为一个开放平台,需要满足下面的五点基本要求: 首先,开放平台要有存在的核心价值。有不少的系统采用了开源的形式,但是没有什么应用价值,就很难作为一个平台长期发展下去。一个成功的开放平台

上位机配置管理一体化软件说明【持续更新】

风流意气都作罢 提交于 2019-12-01 23:33:17
  为了更好地进行上位机开发,特意开发了一款上位机配置管理一体化软件,该软件集成配置、通信及上层接口为一体,统一进行多线程通信及数据解析,可以快速进行上位机开发,已实际运用在多个项目,并稳定运行超过1年时间。   功能如下:   【1】上位机配置      【2】上位机通信    【3】上层接口      软件截图: 来源: https://www.cnblogs.com/xiketangedu/p/11721322.html

软件哲学

杀马特。学长 韩版系。学妹 提交于 2019-12-01 09:46:41
设计原则: 暴露简单通用的接口,隐藏复杂的实现。 old driver case: interface: drive hidden: period, skill improvemnt, temperament improvement, dressing improvement 正例:Unix 文件I/O 接口 Unix文件操作逻辑极为复杂,但前端模块只暴露的5个简单的接口。 隐藏了文件在磁盘上的表现形式、块分配、目录管理、权限管理、磁盘调度、块缓存和设备信息等复杂的底层内容。 来源: https://www.cnblogs.com/dannykong/p/11676183.html

软件定义网络基础---北向接口协议概述

拈花ヽ惹草 提交于 2019-12-01 04:31:50
一:什么是北向接口 应用平面与控制平面之间的接口(NBI),通过控制器向上层业务应用开放的接口,为上层业务应用和资源管理系统提供灵活的网络资源抽象; 由于上层应用的多样性,SDN北向接口需要满足多样性、合理性和开放性,未形成业界公认标准; 二:SDN北向接口标准化工作 三:北向接口的设计 (一)功能型北向接口(Functional NBI) 自下而上看网络,重点在网络资源抽象及控制能力的开放,包括Topology、L2VPN、L3VPN、Tunnel等接口。 (二)基于意图的北向接口(Intent-based Interface) 自上而下看网络,关注应用或者服务的需求,同具体的网络技术无关。 四:北向接口的实现 (一)Rest API: SDN北向接口的主流实现方式 实现Rest API的控制器 有RYU、Floodlight、Opendaylight等 (二)其他方案 RPC、JAVA API、CORBA、SOAP等 来源: https://www.cnblogs.com/ssyfj/p/11654134.html

设计模式——面向对象设计原则

时光毁灭记忆、已成空白 提交于 2019-11-30 21:39:37
目录 一、开闭原则 二、依赖倒置原则 三、里式替换原则 四、单一职责原则 五、组合复用原则 六、迪米特原则 七、接口隔离原则 面向对象设计原则究其根源是为了 保证软件的可维护性和可复用性 知名软件大师Robert C.Martin认为一个可维护性较低的软件设计通常由于如下4个原因造成: 过于僵硬,过于脆弱,复用率低,黏度过高 。软件工程和建模大师Peter Coad认为,一个好的系统设计应该具备三个性质: 可扩展性,灵活性,可插入性 由此看出,可维护性和可复用性在软件的设计中具有举足轻重的地位 面向对象设计复用的目标在于 实现支持可维护性的复用 在面向对象的设计里面, 可维护性复用都是以面向对象设计原则为基础的 ,这些设计原则首先都是复用的原则,遵循这些设计原则可以有效地提高系统的复用性和可维护性 重构 是 在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性 常用的面向对象设计原则包括7个,这些原则并不是孤立存在的,它们相互依赖,相互补充 开闭原则——OCP 依赖倒置原则——DIP 里式替换原则——LSP 单一职责原则——SRP 组合复用原则——CRP 迪米特原则——LOD 接口隔离原则——ISP 一、开闭原则 1、定义 一个软件实体应当 对扩展开放,对修改关闭 在设计一个模块的时候

降低软件复杂性的一般原则和方法

一曲冷凌霜 提交于 2019-11-30 17:55:55
原文参考: https://mp.weixin.qq.com/s/-Gu_XkY2bZq9Lf2ZCJZPtQ 一、前言 斯坦福教授、Tcl语言发明者John Ousterhout 的著作《A Philosophy of Software Design》[1],自出版以来,好评如潮。按照IT图书出版的惯例,如果冠名为“实践”,书中内容关注的是某项技术的细节和技巧;冠名为“艺术”,内容可能是记录优秀作品的设计过程和经验;而冠名为“哲学”,则是一些通用的原则和方法论,这些原则方法论串起来,能够形成一个体系。正如“知行合一”、“世界是由原子构成的”、“我思故我在”,这些耳熟能详的句子能够一定程度上代表背后的人物和思想。用一句话概括《A Philosophy of Software Design》,软件设计的核心在于降低复杂性。 本篇文章是围绕着“降低复杂性”这个主题展开的,很多重要的结论来源于John Ousterhout,笔者觉得很有共鸣,就做了一些相关话题的延伸、补充了一些实例。虽说是“一般原则”,也不意味着是绝对的真理,整理出来,只是为了引发大家对软件设计的思考。 二、如何定义复杂性 关于复杂性,尚无统一的定义,从不同的角度可以给出不同的答案。可以用数量来度量,比如芯片集成的电子器件越多越复杂(不一定对);按层次性[2]度量,复杂度在于层次的递归性和不可分解性。在信息论中

软件测试基础问答

僤鯓⒐⒋嵵緔 提交于 2019-11-29 20:54:37
问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决。 首先,将问题提交到缺陷管理库里面进行备案。 然后,要获取判断的依据和标准: 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据; 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;根据用户的一般使用习惯,来确认是否是缺陷;与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。 等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。 问:给你一个网站,你如何测试?首先,查找需求说明、网站设计m等相关文档,分析测试需求。 制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试设计测试用例:功能性测试可以包括,但不限于以下几个方面: 链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回等。 提交功能的测试。 多媒体元素是否可以正确加载和显示。 多语言支持是否能够正确显示选择的语言等。 界面测试可以包括但不限于一下几个方面:页面是否风格统一,美观页面布局是否合理

米联客 ZYNQ/SOC精品教程 S02-CH13 CAN总线通信实验

百般思念 提交于 2019-11-29 00:23:45
软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛: www.osrc.cn 答疑解惑专栏开通,欢迎大家给我提问!! 13.1 概述 ZYNQ的PS中包含了2个CAN接口,兼容CAN 2.0A和CAN 2.0B,最高可支持1Mbps的波特率。CAN作为工业应用中的一个重要的总线标准,广泛应用于各行各业之中。本教程介绍了ZYNQ中PS端CAN接口的基本使用方法,并通过CAN接口实现与PC端CAN调试软件之间的数据接收和发送测试。 13.2 CAN总线介绍 13.2.1数据格式 CAN总线中的数据以帧为单位,一共包含5种类型的帧,分别为:数据帧、远程帧、错误帧、过载帧和帧间隔。 数据帧:用于发送节点向接收节点传送数据的帧。 远程帧:用于接收节点向具有相同ID的发送节点请求数据的帧。 错误帧:用于当检测出错误时向其他节点通知错误的帧。 过载帧:用于接收节点通知其尚未做好接受准备的帧。 帧间隔:用于将数据帧及远程帧与前面的帧分离开来。 CAN帧格式如下图所示,CAN 2.0A中使用的是标准帧,CAN 2.0B中使用的是扩展帧。标准帧和扩展帧的区别在于扩展帧增加了18bit的扩展标识符。一般情况下,与用户直接相关的只有数据帧和远程帧。数据帧和远程帧都可以使用标准帧格式或者扩展帧格式。

4.1 easymall简单三层的项目分离

感情迁移 提交于 2019-11-28 13:28:11
三 利用Spring IOC DI实现软件分层解耦 3.1 软件分层思想回顾 在软件领域有MVC软件的设计思想,指导着软件开发的过程,在Javaee开发领域,javaee的经典三层架构MVC设计思想的经典应用。而在软件设计思想,追求的是“高内聚 低耦合”的目标,利用Spring的IOC和DI可以方便的实现这个需求; 3.2 SpringIOC DI改造EasyMall 在层与层之间的设计接口,面向接口编程: 由于创建的对象的权利交给框架进行管理,所以创建配置信息,让spring来进行管理 配置文件: 设计Controller层: 设计service层 service层为一个接口 service层的实现类: Dao层的设计 Dao层的实现类: 测试类: 在Spring中,如果自动装配一个接口,默认会先通过属性名找对应id的bean,如果找不到就会去寻找是否存在该接口的实现类的bean,如果存在且只存在一个,则会将该bean注入,如果不存在或存在多个,则抛出异常。 来源: https://www.cnblogs.com/xuwangqi/p/11408948.html

面向对象设计原则

[亡魂溺海] 提交于 2019-11-28 05:28:57
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员经理根据7条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 1. 开闭原则(Open Closed Principle, OCP) 软件实体应该对扩展开放,对修改关闭。 这里的软件实体包括以下几个部分: 1) 项目中划分出的模块 2) 类与接口 3) 方法 开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码的前提下,可以扩展模块的功能,使其满足新的需求。 1.1 作用 开闭原则是面向对象程序设计的终极目标,它使软件实体拥有一定的适应性和了灵活性的同事具备稳定性和延续性。具体来说,其作用如下: (1) 对软件测试的影响 软件遵守开闭原则的话,软件测试时只需要对扩展的代码进行测试就可以了,因为原有的测试代码仍然能够正常原型。 (2) 可以提高代码的可复用性 粒度越小,被复用的可能性就约到;在面对对象的程序设计中,更具原子核抽象编程可以提高代码的可服用性。 (3) 可以提高软件的可维护性 遵守开闭原则的软件,其稳定性高和延续性强,从而抑郁扩展和维护。 1.2 实现方法 可以通过“抽象约束、封装变化”来实现开闭原则,即通过接口或者抽象类为软件实体定义一个相对稳定的抽象层,而将相同的可变因素封装在相同的具体实现类中。 因为抽象灵活性好,实用性广,只要抽象的合理