(原创)面向对象的系统对接接口编写。第4篇

接上一篇:http://www.cnblogs.com/mazhiyuan/p/5224050.html

这篇开始写Post和Get请求的布局。

我们就以新闻模块来举例吧。其它的模块,比如用户啦,比如音频模块啦,依样画葫芦,都一样的。

先创建一个新闻模块的文件夹。我们叫“News"


然后,如上图1,2,3共三个红圈。创建这3个文件。

我们先讲第2件文件:CommandType.cs

CommandType.cs文件,如上图。他就是一个枚举。里面定义了各种业务逻辑。比如里面有”添加新闻动态“。在这里,我们就以添加新闻动态为例子。
要注意的是:我们给添加新闻动态起的名字叫:AddAppNews ,那么这个名字。必须要有一个相应的.cs文件。不是随便乱写的。

还记得上面有张图,里面有3个红圈吗?其中第1个红圈的名字,就叫AddAppNews.cs。这里要注意名字必须一致。那有人会问了,为什么啊?因为我们这里用到了反射技术。到时候会将这个名字反射为一个真实的.cs文件。。所以必须一样。如果不一样,就反射不到了。

下面讲Index.cs文件。也就红圈中的第3个:

代码细说,里面用到了单例模式。。关于单例模式,我就不解释他的代码了。就这么简单:如上图的第12行到第19行,就是单例模式的所有代码。共7行。

public BaseCommand CreateCommandInstance(CommandType type)    这个方法用到了反射技术。上面的CommandType.cs的枚举命名,就是用在这里了。到时候会在这里反射。

下面讲具体业务:AddAppNews.cs文件:

代码细说下:
public class AddAppNews : Post    添加新闻,我们用的是POS请求,所以要继承POST基类。
public AddAppNews() { }    构造函数必须是public,只有这样,才能反射成功。
public override void Excute()    实现基类的业务方法Excute()
AppNews
appNews = this.Deserialize<AppNews>();   
这里用到了基类Post.cs中的protected T
Deserialize<T>()方法。还记得这个方法吗?不记得就回过去看一下。

上面讲的是POST请求的业务处理。下面列一个GET请求的处理。
比如我们要取新闻。我们就讲一下取新闻的GET请求。

代码方法,和Post请求的业务逻辑,比如AddAppNews.cs是类似的。
所不同的是:
string userIdReq = this.Input["UserID"];    他是用这种方式来处理传递过来的参数。比如get请求时,请求端发了一个UserID的参数。通常请求的url会是这样子的:http://www....com/News.aspx?UserID=xxx

当你愿意看到这里时,后续还有4篇:下面是链接:

(原创)多系统间需要对接,我写了一个接口框架。实用性非常强,写出来大家交流。需要的可以直接搬过去用。(第1篇) http://www.cnblogs.com/mazhiyuan/p/5224046.html

(原创)面向对象的系统对接接口编写。第2篇 http://www.cnblogs.com/mazhiyuan/p/5224049.html

(原创)面向对象的系统对接接口编写。第3篇 http://www.cnblogs.com/mazhiyuan/p/5224050.html

(原创)面向对象的系统对接接口编写。第4篇 http://www.cnblogs.com/mazhiyuan/p/5224054.html

(原创)面向对象的系统对接接口编写。第5篇(完结) http://www.cnblogs.com/mazhiyuan/p/5224056.html

如果看完,有不明白的可以评论发给我。

真的很好用的。。有需要做接口的同学。。可以把整个框架拿去用下。

时间: 2024-11-07 21:20:39

(原创)面向对象的系统对接接口编写。第4篇的相关文章

(原创)面向对象的系统对接接口编写。第3篇

接上一篇:http://www.cnblogs.com/mazhiyuan/p/5224049.html 讲一下Factory.cs工厂类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ZGMZ.UIL.App { /// <summary> /// app功能入口 /// </sum

(原创)面向对象的系统对接接口编写。第5篇(完结)

接上一篇:http://www.cnblogs.com/mazhiyuan/p/5224054.html 本篇是完结篇.主要讲如何开始调用了,以及如何控制必须是Get请求或者必须是POST请求,是怎么限定住的. 如上图,我们以新闻模块为例子,创建一个News.ashx的前端处理文件 <%@ WebHandler Language="C#" Class="News" %> using System; using System.Web; using Syst

(原创)面向对象的系统对接接口编写。第2篇

接上篇 http://www.cnblogs.com/mazhiyuan/p/5224046.html 讲:Post.cs文件的编写 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web.Script.Serialization; using ZGMZ.Common; namespace

用友系统与银行接口对接实现财务数据的导入

现在企业中针对银行的业务越来越多,并且针对银行收付款的业务占到财务工作的大部门时间,并且对收款单和付款单,财务需要对相应的收款单和付款单进行制单和对账的处理,面对目前财务遇到的最多的也是最着急解决的就是,如果将银行的收付款单能够批量导入用友,自动生成用友的收付款凭证,我们做了多年的用友软件实施和开发工作,针对财务提出来的这种普遍的问题,我们实现了银行接口和用友对接,实现将收款单的数据按照财务的规则批量导入用友的财务系统生成用友的收款财务凭证.将付款单批量导入银行接口中,然后银行进行付款,用友在获

[.net 面向对象编程基础] (16) 接口

[.net 面向对象编程基础] (16) 接口 关于“接口”一词,跟我们平常看到的电脑的硬件“接口”意义上是差不多的.拿一台电脑来说,我们从外面,可以看到他的USB接口,COM接口等,那么这些接口的目的一就是让第三方厂商生产的外设都有相同的标准,也是提供一个对外通信或操作的入口. 只是C#的接口除了以上特点之外,还具有一种类似于模板的功能,我们定义一组接口,就像是一个模板.这点和抽象类不同,抽象类是先有子类或都子类的概念,从中抽象出一个类.而接口更像是我们要设计一台机器,先把这台机器对外的功能接

系统间接口设计

最近两年一直在和银行.公安.保险.民政等第三方单位之间做接口,写的接口文档不下30份,最初的接口文档漏洞百出,改了又改,丢了不少人,也被批评.埋怨,指责了很多次,久而久之,明白了一个最重要的道理,协作决定接口.双方谈接口时,技术不是最重要的,要兼顾双方技术,成本,工期等等很多因素.但仍有很多技术层面的心得,恰巧上周参与温昱老师的一个性能设计的外训,里面老师讲到了接口设计,正好回来一起整理一下接口设计的经验.主要从3个方面总结一下系统间接口设计:接口定义.接口实现.其他一些注意事项. 一.接口定义

面向对象设计原则之接口隔离原则

接口隔离原则定义如下: 接口隔离原则(Interface  Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口. 根据接口隔离原则,当一个接口太大时,我们需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可.每一个接口应该承担一种相对独立的角色,不干不该干的事,该干的事都要干.这里的“接口”往往有两种不同的含义:一种是指一个类型所具有的方法特征的集合,仅仅是一种逻辑上的抽象:另外一种是指某

php面向对象 封装继承多态 接口、重载、抽象类、最终类总结

1.面向对象 封装继承多态  接口.重载.抽象类.最终类 面向对象 封装继承多态  首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2.什么是对象?从类中拿到的具有具体属性值得个体,称为对象,对象是一个具体的个体 所以,面向对象即我们专注对象来处理问题,通过从一个个具有属性和功能的类中拿到对象来处理问题. 下面我们再来细说下面向对象的三大特征:继承/封装/多态 一.继承 在PHP中我们主要通关E

利用windows系统ftp命令编写的BAT文件上传[转]

利用windows系统ftp命令编写的BAT文件上传[转] 利用windows系统ftp命令编写的BAT文件上传[转] 在开发中往往需要将本地的程序上传到服务器,而且用惯了linux命令的人来说.在windows下就比较麻烦了.为了方便特编写一个BAT程序来帮助需要这样功能的人.如果用其他IDE工具自带的FTP功能也可以,^_^!      命令: todev.bat /index.asp  默认d:\cnweb为网站的根目录.      我的 http://www.lawcar.cn/ htt