.NET简谈面“.NET技术”向接口编程

  过程式的开发方式已逐渐退出大众的眼线,随之而来的是各种各样的高抽象的开发模式;我们不得不承认在没有设计模式的时候,我们很难总结出有价值的开发模型,便于以后重复使用和推广;面向对象的流行,让我们开发人员重新站在一个高的起点来看待软件模型,抽象固然是好事,但是也给初学者带来了迷惑,将软件中的东西都想成很简单的封装,我们只需要调用就行,这样越来越多的开发人员开始慢慢的往上浮,有一定编程经验和感触的人,能够明白我所说的浮,也算是给初学者提个醒吧。

  1:

  2:



  我们将计算机系统抽象层三个层次,我们做应用层开发的基本上处于最上层;我为什么要给出这张图,其实当我们的软件系统不断的抽象后我们会距离系统层越来越远:

  系统层将逐渐完善,而我们也将逐渐慢慢被淘汰;其中的道理,大家都能懂的;所以我们不能总是停留在应用层,我们要向系统层进军,进行架构设计、系统设计等等属于系统层的工作范围,我们得进入系统层才不会有危机感;下面我们进入文章的主题:简谈面向接口编程。

  看这篇文章的朋友如果有关于.NET接口方面的疑惑,可以参考本人的另外一篇文章.NET简谈接口;其实面向接口编程是个很大的话题,我很怕写不好引起大家共愤浪费大家时间,本人前前后后考虑很久还是打算以简单的方式来呈现面向接口编程的思想精髓。

  我们还是拿现实生活中的例子来做比喻吧(面向对象的一切规则来自大自然),我是一名建筑工程师,我要开发一栋别墅,作为建筑工程师首先要进行整体项目的构思,结果就是一份很完美的建筑图纸,请注意建筑图纸就是我们这里的一个大的接口,面向接口编程的思想就是不涉及具体的实现,只给出实现必须要做到的硬性条件,作为建筑工程师,他很清楚每一建筑细节,需要层层把关,我们开始深化;一份大的图纸出来之后,交由包工队进行具体的实现也就是开始盖了,这里就是具体的实现了,实现必须完全按照图纸来进行,所以在图纸与实施之间就是接口与实例之间的关系。

  我们先打地基,图纸明确规定地基要用什么结构的支撑,所以我们的具体实施要完全继承自这个接口,具体怎么支撑是工程队的事情;我们继续看,下面要实现的是房屋的基本结构,房屋的造型,房屋的面积,房屋的质量标准等等条件都已经在工程图纸中给出,我们只要继承自房屋实现接口去实现就行了;我们快速进行开发,现在到了具体门窗的装配,门窗接口已经规定我的门要有哪些些装饰,有哪些防盗措施;这些硬性条件是接口中规定的;具体你用哪个门,是哪个厂家的门,门是什么颜色的只要我没有规定的都可以;请看代码图:

  3:

  上图是将项目中的接口比喻成图纸所规定的实现条件,而接口就是图纸的抽象表示;请继续看代码图:

  4:

  5:

  6:

  7:

上海企业网站设计与制作

  图7就是总体图纸,我们来开怎么实现开发;

  8:

  9:

  总结:面向接口编程大概就讲玩了,归根到底一句话:面向接口编程就是将类与类之间的关系提升到一个更高的抽象层次;面向接口编程是一种境界,我这里只是一个入门介绍,希望对你有帮助。

时间: 2024-11-06 07:11:24

.NET简谈面“.NET技术”向接口编程的相关文章

苹果高管简谈外部GPU技术 这说明了什么?

威锋网 4 月 5 日消息,在苹果公司举行的小型记者招待会上,苹果公司软件工程高级副总裁克雷格·费德里希回答了一个关于外部 Thunderbolt GPU 的问题,不过他的回答很简单,只有一句话,"我想它们会有属于自己的位置." 费德里希这个回答显然是经过一番斟酌的,虽然明确说出苹果正在开发这个概念,但是能让我们对苹果在这方面的行动稍有了解. 苹果与 eGPU 的兼容限制 在开发 Thunderbolt 3 协议的过程中,外部 PCI-E 接线盒增加了与 GPU 无缝连接的功能.通常笔

.NET简谈委“.NET技术”托链

说起链表大家都很熟悉,说起委托相信大部分的.NET程序员都也很了解.在平时的开发过程中经常会用到这两种技术,只不过链表在.NET里面已经被封装了,让我们用起来更加的方便就是集合类型Collection.在某些时候我们有必要要了解这些方便而又快捷的背后是怎样封装的,委托是一种特殊的类型,在.NET里面是用来作为方法的一种封装.在一些非托管的代码中如C++就没有这么幸运了,我们要面对是一些复杂的地址变换.链表的指针维护.内存的取址等等.微软一向都是人性化模仿的对象,不管是他的操作系统还是开发平台ID

一起谈.NET技术,.NET简谈面向接口编程

过程式的开发方式已逐渐退出大众的眼线,随之而来的是各种各样的高抽象的开发模式:我们不得不承认在没有设计模式的时候,我们很难总结出有价值的开发模型,便于以后重复使用和推广:面向对象的流行,让我们开发人员重新站在一个高的起点来看待软件模型,抽象固然是好事,但是也给初学者带来了迷惑,将软件中的东西都想成很简单的封装,我们只需要调用就行,这样越来越多的开发人员开始慢慢的往上浮,有一定编程经验和感触的人,能够明白我所说的浮,也算是给初学者提个醒吧. 1: 2:  我们将计算机系统抽象层三个层次,我们做应

.NET简谈面向接口编程

过程式的开发方式已逐渐退出大众的眼线,随之而来的是各种各样的高抽象的开发模式:我们不得不承认在没有设计模式的时候,我们很难总结出有价值的开发模型,便于以后重复使用和推广:面向对象的流行,让我们开发人员重新站在一个高的起点来看待软件模型,抽象固然是好事,但是也给初学者带来了迷惑,将软件中的东西都想成很简单的封装,我们只需要调用就行,这样越来越多的开发人员开始慢慢的往上浮,有一定编程经验和感触的人,能够明白我所说的浮,也算是给初学者提个醒吧. 1: 2: 我们将计算机系统抽象层三个层次,我们做应用层

.NET“.NET研究”简谈面向接口编程

过程式的开发方式已逐渐退出大众的眼线,随之而来的是各种各样的高抽象的开发模式:我们不得不承认在没有设计模式的时候,我们很难总结出有价值的开发模型,便于以后重复使用和推广:面向对象的流行,让我们开发人员重新站在一个高的起点来看待软件模型,抽象固然是好事,但是也给初学者带来了迷惑,将软件中的东西都想成很简单的封装,我们只需要调用就行,这样越来越多的开发人员开始慢慢的往上浮,有一定编程经验和感触的人,能够明白我所说的浮,也算上海闵行企业网站设计与制作是给初学者提个醒吧. 1: 2:  我们将计算机系

.NET简谈接口

自从面向对象开发方式的出现,抽象的概念就开始日新月异的发展,面向对象编程.面向接口编程.面向组件编程等等:这一系列的概念都是软件工程所追求的思想范畴,高类聚低耦合. 今天我要简谈的是面向对象里面非常重要的也是非常抽象的概念,接口.谈起接口多少人曾经为之痛苦过,尤其是一些刚入门的开发人员(包括小弟),百思不得其解,啥叫接口,接口能干嘛用,用不用有什么区别:等等问题困扰着,这些问题不解决不弄明白,很难在面向对象领域混,更别谈面向对象开发了,可能有人认为面向对象开发就是麻烦我不用一样也能开发,开发一个

.NET简谈——跨进高级编程门槛的必经之路

我们继续C#基础知识的学习,这篇文章对前面基础知识学习的朋友有着举足轻重的作用:为了延续基础知识学习的热情,我编写了这篇特殊的文章. 本篇文章的中心是想借".NET简谈反射(动态调用)"一文继续发挥下去,让朋友能一气呵成,到底反射能用在什么地方,究竟能起到多么高级的作用. 下面我就拿具体的例子讲解,不废话了请随我来: 1:必须具备的基础知识 C#接口:要想用反射进行高深的使用,必须先具备接口方面的基础,只有用接口了才能是系统真真的活起来.参考.NET简谈接口 一文: C#委托.事件:在

.NET简谈组件程序设计之(初识NetRemoting)

在本人的".NET简谈组件程序设计之(初识远程调用)  "一文中,我们了解到什么是远程调用或者说在.NET平台上远程调用是什么样子的,可能和偏低层(Socket\Rpc)的远程调用有点距离.这只是系统为我们封装了假象而已,看不见不代表没有这逻辑,是为我们减轻了劳动负担.[王清培版权所有,转载请给出署名] 这篇文章我们来简单的了解一下在.NET平台上有一个强有力的远程调用武器,也是上一篇文章中我一笔带过的远程英雄.NetRemoting. 其实在.NET平台里面到处都能看见Remotin

.NET简谈互操作(一:开篇介绍)

互操作系列文章: .NET简谈互操作(一:开篇介绍) .NET简谈互操作(二:先睹为快) .NET简谈互操作(三:基础知识之DllImport特性) .NET简谈互操作(四:基础知识之释放非托管内存) .NET简谈互操作(五:基础知识之Dynamic平台调用) .NET简谈互操作(六:基础知识之提升平台调用性能) .NET简谈互操作(七:数据封送之介绍) 本人最近在学习非托管C++互操作的技术,有点小收获不敢私藏拿出来跟大家分享:作为.NET开发人员,我们有必要学习一些互操作方面的知识:尤其对一