关于接口的一些疑问,求解答!!

iiioooqqq 2012-05-31 05:00:38
[size=13px] 也混了有些时间了,一直没啥机会自己写些接口相关,偶尔看看的也是公司前人留下的.
公司的程序里面有很多地方打印一些东西,比如发票.这个时候通常有个打印发票的接口,比如IBillPrint,里面定义了些方法,都是没实现的空方法. 然后又新建一个工程文件来实现ibillprint接口,比如bprint,打印的时候通过定义一个接口,通过反射System.Reflection.Assembly.LoadFrom(bprint.dll).CreateInstance(controlName)实例化一个实现了接口的类,controlname即为bprint中实现接口ibillprint的窗口.我想知道的是,为神马要样子用,不能再打印发票的时候直接写个工程文件打印,直接掉打印的程序,而是要写个接口,然后用工程实现接口[/size].

也没感觉出这样写有多少好处,也一直在疑惑,到底神马样的情况下应该写个接口出来!

求高手说说接口各种相关!

...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
trentliu 2012-05-31
  • 打赏
  • 举报
回复

从实现问题的角度看可能会觉得多此一举,如果从架构、整体、产品的角度看这很重要

楼上的主板例子不错,我也举个车的例子

汽车生产标准化,规模化,协作化至关重要。
比如轮毂,就有自己的接口标准,汽车厂商不需要自己生产轮胎、轮毂(如果不用接口,那就都得自己做,焊接在一起的死东西,可以想象么?) , 只需要将轮毂厂商按照接口标准制作的轮毂安装到自己的车架上即可。 轮毂与轮胎的标准接口,也同样延伸到轮胎
devmiao 2012-05-31
  • 打赏
  • 举报
回复
这样就可以在不重新编译源代码的情况下,替换BillPrint的实现。

就好比为什么要把cpu做成独立于主板的一个接插件,用接口相连一样,你可以不更换主板,而单独升级cpu。
cnfixit 2012-05-31
  • 打赏
  • 举报
回复
以前写二代证读卡器模块的时候用过接口,感觉不错,读卡器有不同厂家的,不同厂家sdk对外公布的函数不大一样,就定义接口里面包括读各种信息的方法,以后不同厂家的sdk来了定义一个继承该接口的类并且根据相应sdk实现方法就可以了,已经写好的厂家和相关的业务模块不用做改动
cnfixit 2012-05-31
  • 打赏
  • 举报
回复
为以后扩展打基础吧

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧