首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

【C#接口】的了解及使用提问,注重理解接口是什么,项目中接口的使用,及与OOP特性的相关性

2011-12-15 
【C#接口】的理解及使用提问,注重理解接口是什么,项目中接口的使用,及与OOP特性的相关性。因希望本贴对CSDN的

【C#接口】的理解及使用提问,注重理解接口是什么,项目中接口的使用,及与OOP特性的相关性。
因希望本贴对CSDN的同胞(当然也包括我)有建设性的提高,在此请允许我对回贴者的回复有两点建议性的小提议(望海量的CSDN同胞们多多包涵):
一、基于C#语言中OOP特性接口的理解(望给出个人的理解及总结)
二、简明扼要的描述接口与OOP其它特性的相关性(如:接口与抽象类、继承等相关性)

先感谢议题者

以上担搁了大家点时间,以下是我的项目需求。

前两天公司的项目结束,现需要与一个大平台(以下统称为上家)进行衔接,上家在电话里只问了我软件有预留的接口?我说句有,所以现在才开始提问!

衔接注意事项:上家需从公司软件里提取经过处理和分析的相关数据后上家再进行处理。上家不想知道如何进行分析处理,公司也不想让上家知道。

此贴为语义贴(不需要代码):本人并不知接口与衔接(需求)是否有关联,也是第一次进行这种衔接,故以接口为题引发此贴。望在此给出衔接有哪几种方法?需要注意什么?望大家文字说明就行。确定有点急了,随后一周内再开此分享本人实现接口代码的过程。

衔接相关说明:公司软件是用C#开发的winform系统,后台数据存储分析处理是用MSSQL2005。上家的软件是用什么平台,后台库用什么不知道,个人理解:无需知道。我们负责提供外部接口。



[解决办法]
ss
[解决办法]
最近出现好多,接口的疯狂追求者
一定会引起关注的。
[解决办法]
需要中提到的“衔接”应该和C#中语法接口,不是同一个概念。
这个“衔接”的抽象层次应该比语法中的接口高的多。
可以理解为是你们的系统为外部系统提供的服务。
比如查询订单交期的服务。这个“服务"对于远程系统来说可能就是有个函数,约定好参数和返回值。
调用者根据约定使用这个服务,就可以得到他所需要的信息。
[解决办法]
即使使用接口, 不关心实现, 还是有几个问题需要考虑的,

首先就是接口函数参数的数据类型问题,

对于业务数据是用业务类来封装, 还是使用 DataTable 这些便捷设施

如果你提供的接口实现对方不满意, 他们是否可以很方便的编写自己的实现.

归根到底就是 Type 问题,

----------------- type of typeless, root of rootless
[解决办法]
此接口与OOD中间的接口不是一个概念

你的这个接口是系统之间的一种契约,规定服务的内容/范围/使用方式等;包括通信协议/访问协议/控制协议

具体的实现方式可能是一个webservice,也可能仅仅是一个存储过程,又或者封装为一个库提供给其他人使用
[解决办法]
在头壳里做几次角色扮演, 
从不同角度来设想这个实现是何种样子的,
每个角度都用最自私的想法去要求.

这时, 你不但但是程序结构的设计者和实现者了.


具体没啥意见, 毕竟最了解她的还是你. 
也不能指望客户他们给你提什么有用的东西.
[解决办法]
按我的理解,应该不是 C# 中的接口概念。C# 的接口是提供一些方法签名,需要你去实现。

而按你的描述,似乎应该是提供 API(应用程序接口) 给上家使用。
[解决办法]
嗯,先UP一下
[解决办法]
发布WebServices接口给他们就可以。你将处理好结果集,返回给他们就可以了。

顶多告诉他们结果集的字段的意义以及接口参数的意思。
[解决办法]
你可以在你的应用程序里开一个服务 开某个固定的端口
有连接的时候给他返回分析后的他要的数据 返回json/xml就好
[解决办法]
接口这个概念广泛。个人观点:
1、直接提供数据库的表结构,这是一种接口,这种方法比较冒险。
2、可以用webService的方法提供一些方法给外部调用。
3、或则提供dll类库。
还有更多,如Windows消息等。具体看项目的需求。


[解决办法]
我简单说下我的想法,
我看这个需求只是数据传输上的需求。 
对方的需求是假设仅是你处理完的数据(表、条目、记录。
而不是用你接口提供的方法、服务(业务处理)。

你可以用一个完善的数据传输框架实现。也是webservice, 只有区区几个框架接口。Microsoft Sync Framework 就可以实现这个需求。 对方只要访问这个Sync Service 来请求数据就可以了。 你在Sync Framework 下写上他能请求的逻辑规则。 什么数据他可以请求
[解决办法]
异构系统(可能)的集成,通过采用数据接口来进行软件集成时,要实现真正意义上的无缝联接,我想如果前期没跟“上家”协商好的话,问题会很多
[解决办法]



我的理解和vrhero、wuyi8808的一样
对方需要你们提供一个应用程序API,如果是B/S部署最简单的方式就是发布WebServices。
对于C/S部署,如果上家也是是.net平台可通过建立Remoting或socket向对方送数据,如果不是则有些麻烦了。
 我现在也在负责一个winform+SQL2005的C/S项目,远程服务器部署了我写的接受数据的WebService,客户端数据是通过引用这个远程webservice传过去的。但这样的方式并不是winform来提供API,而是使用API...
依我看,lz恐怕得和上家联系一下了
------解决方案--------------------


Web Service是目前为止异构系统通信的唯一通用标准...你不了解合作者的系统就当它是异构系统好了...

你只需要抽象出“获取经过处理和分析的相关数据的方法”以Web Service实现并发布,将WSDL文档给你的合作者,他们自己知道该怎么做...

在这个协作系统中你是provider,应该由你来确定你的API的细节不需要合作者参与,合作者只要给出需求即可...所以你只要问清楚你的上家都需要些什么数据,发布方式和格式你定义好告知对方就行了...
[解决办法]
听听看看
[解决办法]
up
[解决办法]
衔接 从外行人口里说出来的吧
内行的都说接口
接口和实现方式无关,只要可以达到接口的功能即可
[解决办法]
xue xi
[解决办法]
53楼有理,还需要考虑成本。
[解决办法]
53楼才是根本哦
[解决办法]
学习。顶。
[解决办法]
接口也是更具需求也定的,没有明确的需求,接口定义出来意义不大
web service上面已经提过了。

仅仅是数据的话,数据仓库等也是一种可行的方法。
[解决办法]
给他们提供几个需要的接口就行啦
[解决办法]
LZ很是虔诚中肯,致以敬意!
[解决办法]
以下是个人的一点理解,列出请大家指正:
C#中的接口是面向对象编程中很有用的概念,计算机程序最终是要解决现实世界的各种问题,它也是在不断的在把现实世界的解决问题方案用计算机进行模拟。举个例子,现在要生产磁带,怎么才能保证不同厂商生产的磁带都能被录音机播放呢,那就需要有相关的标准,磁带多宽,多长,磁性达到多大才能被认出等等,这就会有相应的国际标准,有了标准,那么谁生产的磁带都能被播放,如果不按照标准生产,那产品肯定卖不出去。
那么接口就相当于标准,它只是些技术指标(在代码中就是一些函数签名),不能实际运行的代码,具体的实现是由继承它的类的实例成员来实现的(生产磁带的厂商),按照接口的定义来实现的类是真正运行的代码,也就是你们项目实现的功能,接口是描述这些功能的,你的上家只需要知道你的接口,new一个实例就可以使用你的功能了,不需要知道你实现的细节,计算机技术也是不断在尽量贴近实际世界的运行方式,也是在不断发展的

热点排行