.NET简谈面向接口编程

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

  1:

  2:

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

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

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

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

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

  3:

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

  4:

  5:

  6:

  7:

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

  8:

  9:

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

时间: 2024-11-10 06:49:22

.NET简谈面向接口编程的相关文章

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

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

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

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

理解面向接口编程,面向接口编程的优势,以及对系统设计的影响

问题描述 希望各位大神不吝赐教... 解决方案 解决方案二:一个人写代码无所谓,不要接口也可以(当然,某些框架非要你定义接口,这种就没办法)小系统也无所谓,随便写接口这种东西有价值的场景在:大系统,需要多人协作的系统,多人之间工作有交际,需要有调用与被调用的关系,工作开始的时候先把接口定义好,再各自实现,工作效率比较高.某些设计模式里需要用到接口.比如你将系统里的部分可以重用的功能抽取出来,但是这种重用功能里有部分又有不同,那么就可以采用定义接口的方式,把需要自定义的部分暴露出去,公共的部分抽取

PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述

复制代码 代码如下: <?php /* 边学边做的,为方便自己翻阅而发布,更为得到高人指点而发布,欢迎高手指点...... [提示]本例通过测试无误 [情景设计] 模拟计算机主板IDE接口,比如:主板可以存取的储存器常常有光驱.硬盘.闪存等等, 为了方便,有必要对这些不同的储存器设定同一的接口. 本例还假设一种前所未有的.存取方式与众不同的外星储存器也要加到主板上进行存取, 于是需要采用耦合的设计模式. [本例主要讲述] 1.通过接口.抽象类.一般类继承三种方式达到所谓的"接口"

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

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

.NET简谈接口

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

我们来谈谈面向指针编程的那些事

面向对象编程,面向设计模式编 程(亦即设计模式),面向接口编程,面向模板编程(亦即泛型编程),面向函数编程(亦即函数式编程),面向多核时代的并行编程,面向大数据的机器学习编 程--这么多年,大家要面向的东西已经够多了,然而我看到的现象是,很多编程语言让大家面向 xxx 的同时在竭力回避指针.我可不想面向这么多东西,所以我只好加入指针的黑暗势力.我要不自量力的来写一篇<面向指针编程>作为投名状,借以表示我与软件世 界的光明势力的彻底决裂. 这个世界上,提供指针的编程语言很少,这样的语言有汇编语言

.NET简谈组件程序设计之(初识远程调用)

在.NET1.0版本出来的时候,要想进行远程调用基本上都是通过WebService的方式.而随着.NET2.0版本的出现,我们可以通过一个更加方便且高扩展性的框架来进行编写远程调用的程序,也就是我们都比较熟悉的.NetRemoting. 网上对.NetRemoting技术讲解的文章不计其数,但是很少有一本比较全面的.系统的学习书籍.我们都是从哪些零散的知识里慢慢摸索,效果不太理想. 今天我也来简单的介绍一下我理解的Remoting.不仔细研究一下还真不知道它的厉害,完全的托管平台.高扩展性.灵活

.NET简谈设计模式之(策略模式)

策略模式在我们日常开发中经常被用到,这篇文章不是策略模式的深入讨论和学术研究,只是让初学者能有个基本的了解. 什么叫策略:1. 可以实现目标的方案集合:2. 根据形势发展而制定的行动方针和斗争方法:3. 有斗争艺术,能注意方式方法. 什么叫模式:模式(Pattern)其实就是解决某一类问题的方法论.把解决某类问题的方法总结归纳到理论高度,那就是模式.模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果.而且会得到解决问题的最佳办法. 什么叫策略