C#接口理解
来源:互联网 发布:阿里云 多隆 编辑:程序博客网 时间:2024/05/30 04:21
我们设想有一个项目组,其中有一个PM和3个Programmer。下面我们分别站着这个PM和Programmer的立场上理解接口的作用,因为只有从具体项目中才能真正体会到一个概念的意义所在。
首先,我们站在PM的角度来理解接口。
这个项目组现在开展一个项目,其中包括使用3个不同种类的摄像头来进行图像的采集和处理。这里就可以用到接口了,首先PM研究了这3个摄像头的具体功能,就设计了一个接口,并命名为ICamera,这个ICamera接口中包含了3个方法,分别为摄像头初始化,打开摄像头和关闭摄像头。至此,PM的任务完成了。为什么呢?因为PM是整个系统的构架师,依据面向接口的编程思想来设计这个接口。然后,就是PM来发号施令的时候了。
PM对3个Programmer的要求就是:每个人负责设计一种摄像头类,前提是要继承ICamera接口。到这里,我们已经可以理解PM的意图:这个接口就是一个协定,或者叫做一个协议,规定了这3个类的设计必须要根据这个ICamera来进行。那么,这3个Programmer在分别进行这3个摄像头的类的设计的时候,就必须要将ICamera接口中的3个方法进行实现。这也就说明了这3个摄像头类遵守了接口ICamera的规定。
那么,这么做有什么好处呢?站在用户的角度来说,就是站在使用这3个类的程序员角度来说,不需要知道这3个类的具体实现,也不要大费周章的在这3个类中去寻找关于这3个摄像头的具体使用方法,而是只需要在ICamera接口中知道有这3个方法就行了,因为根据协议,这3个类必须都要实现ICamera接口中的3个方法。所以,如果我们仅仅站在使用这3个类的角度来说,只需要了解这个接口中有什么方法就行了,然后具体使用哪个摄像头,就定义哪个摄像头类的对象,然后调用相应的方法就可以了。从这里可以看出,使用接口可以让整个系统的条理很清晰,可以使编写类的过程和使用类的过程分离,降低的耦合性,便于系统的维护。
下面,我们站在Programmer的角度来理解接口。
现在,这个产品已经过了2年,由于公司需要进行更新产品,需要在原来的基础上增加两个摄像头,其他东西不需要大改。但是这个时候那3个Programmer已经跳槽了。公司又新请了两个Programmer,由于有接口协定的存在,这两个Programmer只需要知道接口中有哪些方法就行了,很快就会再根据接口的协定来进行这2个摄像头类的设计。这样,新产品又可以进行更新了。从另一方面讲,这两个新来的Programmer也可以对之前3个摄像头类进行代码维护。至此可以看出,接口协定机制从一定程度上提高了代码的扩展性和维护性。
从上面的分析,我们可以看出:接口这种”机制“的引进不仅方便了系统设计人员的整体构架,而且约束了编码人员的界限,使整个软件的设计流程非常清晰,大家各司其职,有条不紊。
至此,2012年7月11日,22:06。
- C# interface 接口理解
- 理解c#接口
- C#接口理解
- C#接口的理解
- C# interface 接口理解
- 在C#中理解接口
- C#中接口的理解
- 【C#】C#接口深入理解
- C#接口-对接口的理解
- C#接口-对接口理解实例代码
- C#中接口(interface)的理解
- C#中接口(interface)的理解
- C#之理解接口的作用
- 很通俗的C#接口 作用理解。
- 很通俗的C#接口 作用理解。
- C#之理解接口的作用
- C#之理解接口的作用
- C#中抽象类 与 接口 理解
- 再谈每周工作不要超过 40 小时
- OracleLinux 6.2安装VirtualBox 增强功能
- hdu Flipper (用栈模拟)
- 图片、文件、二进制文件 三种资源不要放进数据库存储
- Sqlserver 2012 安装 .NET Framework 3.5 SP1 安装总提示错误(已解决)
- C#接口理解
- 快速排序(优化版)
- Hough变换原理简介
- Discuz X2 始终用新窗口打开帖子
- CentOS6.2/5.8下LNMP高性能的WEB服务器快速Yum搭建流程
- ArchSummit讲师专访:腾讯微博张松国谈腾讯微博的架构成长过程
- VC 读写注册表
- ubuntu添加右键terminal及脚本
- 十个免费的 Web 压力测试工具