
发表日期: 2021-04-27 09:27:50 浏览次数:133
沛县网络公司哪家好【沛县企业网站百度SEO推广公司】沛县做网站开发价格、沛县淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、沛县高端企业网站页面制作设计专业公司需要多少钱
沛县,简称“沛”,因古有“沛泽”而得名,江苏省徐州市下辖县,位于徐州市西北部,处于苏、鲁两省交界之地,东靠微山湖,西邻丰县,南接铜山区,北接山东省鱼台,处于华北平原的东南边缘和淮海经济区的西北部位。总面积1806平方公里, [1-3] 总人口130万(2016年)。2019年,沛县完成地区生产总值777.96亿元,增长6.0%。 [4]
沛县水脉纵横,是滨湖之城、绿色之都,沛城东距中国北方最大的淡水湖—微山湖不足5公里,拥有62公里湖岸线、400平方公里湖面。 [2]
沛县历史悠久、资源富集,是江苏省和华东地区的煤炭主产地,探明煤储量24亿吨,年产原煤1200万吨,占全省70%。沛县是首批全国文明县城、全国科技进步先进县。荣获全国百强县、全国工业百强县、国家园林县城、国家知识产权强县工程试点县、中国最佳生态旅游县等称号。 [5]
2019年,沛县位居全国县域经济与县域综合发展第32位,综合实力百强县市第65位、全国科技创新百强县市第57位、经济竞争力百强第44位。 [6-7] 2020年7月29日,入选2017-2019周期国家卫生乡镇(县城)命名名单。 [8] 2020年8月,被授予2019年“四好农村路”省级示范县称号。 [9] 2020年12月,入选全国县域经济综合竞争力100强。
SOLID原则是指单一职责原则、开放-封闭原则、里氏替换原则、接口分离原则和依赖倒置原则这五大原则。这五大原则对于框架设计来说,是非常具有参考和指导意义的。让我们来看下,它们是如何在PhalApi中得以体现的。
单一职责原则 这是PhalApi一直都坚持和格守的原则,我们坚持短而美的风格, 致力于编写优雅的代码、编写人容易理解的代码 。一个概念,一个类,不做过多的聚合。
开放-封闭原则 首先,在进行接口服务开发过程中,当需要新增一个接口服务时是开放的,对已有的响应调用流程是封闭的。即开发人员只需要实现新接口逻辑即可,不需要改动其他过程的调用。因此在OCP原则的指导下,我们通过结合工厂方法封装了对接口服务的初始化和调用。
依赖倒置原则 PhalApi框架,最大的特色莫过于它提供了一种如何快速进行接口服务开发的机制,但它不强制你使用不必要的功能,甚至还鼓励你通过它来尝试研发自己的框架 。更进一步,PhalApi引入了新颖明确的概念,一如服务。我们把客户端调用的接口称之为接口服务,把服务端用到的资源称之为资源服务。对于后者,PhalApi提供了灵活的DI依赖注入机制,以支持各项目定制化的开发。这是一个开放的世界,注定会多样多彩。
经过前面的一番思索,以及借助共性和可变性、不稳定性和抽象图,以及SOLID原则,PhalApi最初基本的核心执行流程已得以慢慢明朗。有意思的是,PhalApi的主流程,从确定之初,时至今日,已历三载,目前还是和当初一样。这里,扼要说明一下PhalApi框架中接口请求背后的核心执行流程,以便大家洞明其中的原理。
图8-3 PhalApi的核心时序图
如图8-3所示,在PhalApi中,一个接口的请求处理,只要分为两个环节: 接口服务的初始化和接口服务的调用。
在Web Service中,往往需要对服务进行注册发布后,才能开放请求。这里免去这一层,但遵循创建和使用分离的原则,我们将接口服务的初始化进行了封装,以便可以统一进行初始化、异常处理和一些权限ACL的控制,甚至接口访问的统计等操作,更为重要的是接口开发人员可以进行无绪开发,而不需要过多知道如何合法创建接口服务。
在1.2. 步骤中,UML时序图中的::generateService()表示对静态函数的调用,即对应代码:
$a = PhalApi_ApiFactory::generateService();复制代码
假设我们这次请求的服务为:?service=Demo.DoSth,可以看到,创建了一个指定接口类实例(此接口类须继承于PhalApi_Api基类),并以变量a返回该实例。 正确创建接口服务a后,则会进行接口的初始化,其中有接口参数规则的解析和注册了过滤器服务后的检测操作。 当这一系列的操作都成功执行后,将会得到一个接口服务实例a返回。
至此,接口服务的创建完成。
在完成复杂的接口类实例创建工作后,客从事服务端开发的开发客户端只需要简单调用需要进行的操作即可。而这一块,则需要接口项目具体开发实现,也是我们项目级的核心部分。
在获取接口服务的背后,我们建议结合领域驱动设计的理念,对项目代码进行这样的层级划分:
Api接口层:用于接收参数并响应接口的请求;
Domain领域层:用于处理复杂的领域业务逻辑,保证规则只出现一次;
Model数据源层:更广义上的Model层,提供数据来源,不限于数据库。
最后,是我们客户端关心的返回格式。 默认情况下,我们都是以JSON格式返回的,但仍然可以轻松支持其他格式的返回,如JSONP、XML等。只需要简单地开发实现,然后重新注册即可。
至此,接口服务的调用完毕。
介绍完PhalApi的核心执行主流程后,再来看下PhalApi的UML静态类结构。前者是动态的执行,后者是静态的关系。
图8-4 PhalApi的UML静态类结构图
从图8-4所折射出PhalApi的核心架构、层级和代码是如此的简单明了、统一规范。至少我是这么认为的,也是一直这样努力的。 从中可以看出,中间红色部分的DI处于汇点位置,提供各种资源服务的定位、创建、管理和提供。而左上角的代码示例则表达本系统框架运行的主流程: 创建一个接口实例,运行响应。右上角黄色部分则为多变的接口应用开发的代码,这里特意罗列了两组接口,意在表明可以在此框架下挂靠多套接口。
最下面是接口开发过程中所用到的各种基础设施和技术,如日记、配置读取、缓存、加密、请求和响应等。同样,除各应用项目中形式多变的接口开发外,这块的底层技术亦支撑不一而足的需求。因为,PhalApi只是作了共性的抽离,即提供一级抽象且稳定的接口或者抽象类,以约定规约视角中接口的函数签名,不作过多的具体实现。同时以DI作为辅助,支持快速扩展。
这一章,我们将通过两方面来剖析PhalApi的性能。一方面是针对框架内部的白盒性能分析,这将借助于Xhprof工具来完成;另一方面则是针对框架对外的黑盒压力测试,这将借助于Autobench来完成。
测试环境配置为:
阿里云服务器ECS(CPU:1核 内存:1 GB 宽带:1Mbps)
操作系统:CentOS release 6.7 (Final)
Nginx 1.8.0
PHP 5.3.5
Xhprof性能分析和Ab压测的接口服务皆为默认接口服务?service=Default.Index,框架版本为PhalApi 1.4.1。

沛县网络公司哪家好【沛县企业网站百度SEO推广公司】沛县做网站开发价格、沛县淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、沛县高端企业网站页面制作设计专业公司需要多少钱
服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878