.NET简谈面向接口编程

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

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

  1:

  2:



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

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

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

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

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

  3:

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

  4:

  5:

  6:

  7:

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

  8:

  9:

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

目录
相关文章
一起谈.NET技术,.NET简谈面向接口编程
  过程式的开发方式已逐渐退出大众的眼线,随之而来的是各种各样的高抽象的开发模式;我们不得不承认在没有设计模式的时候,我们很难总结出有价值的开发模型,便于以后重复使用和推广;面向对象的流行,让我们开发人员重新站在一个高的起点来看待软件模型,抽象固然是好事,但是也给初学者带来了迷惑,将软件中的东西都想成很简单的封装,我们只需要调用就行,这样越来越多的开发人员开始慢慢的往上浮,有一定编程经验和感触的人,能够明白我所说的浮,也算是给初学者提个醒吧。
986 0
.NET“.NET研究”简谈面向接口编程
  过程式的开发方式已逐渐退出大众的眼线,随之而来的是各种各样的高抽象的开发模式;我们不得不承认在没有设计模式的时候,我们很难总结出有价值的开发模型,便于以后重复使用和推广;面向对象的流行,让我们开发人员重新站在一个高的起点来看待软件模型,抽象固然是好事,但是也给初学者带来了迷惑,将软件中的东西都想成很简单的封装,我们只需要调用就行,这样越来越多的开发人员开始慢慢的往上浮,有一定编程经验和感触的人,能够明白我所说的浮,也算上海闵行企业网站设计与制作是给初学者提个醒吧。
983 0
《你必须知道的.net》读书笔记 008——2.4 依赖倒置
依赖倒置 核心思想:依赖于抽象 体现在: 1、高层模块不应该依赖于底层模块,二者都应该依赖与抽象。 2、抽象不应该依赖于具体,具体应该依赖于抽象。   ==        依赖倒置,是最郁闷的一个名词,理解起来也是很难的,至少对于我来说是这样的。
699 0
|
测试技术 UED
《你必须知道的.net》读书笔记 007——2.3 开放封闭原则
     开放封闭原则,核心思想:软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。            体现在两个方面:      1、对扩展开放,意味着有新的需求和变化时,可以对现有代码进行扩展,以适应新的情况。
923 0
|
程序员
《你必须知道的.net》读书笔记 006——2.2 单一职责原则
     单一职责原则,核心思想:一个类最好只做一件事情,只有一个引起她变化的原因。        就是分工合作的意思。一个人只做一种事情,比如设计师负责设计页面,做出来PS图,美工负责把PS图片,切成HTML代码的形式,加上css效果、flash动画等,程序员负责加代码。
837 0
|
容器
一起谈.NET技术,.NET简谈观察者模式
  观察者模式想必搞程序开发的都听说过,今天我也来简单的总结一下本人在程序开发过程中是怎么使用观察者模式的;希望给大家带来点新的想法,如果哪位高手看到了也不要嘲笑啊;呵呵,追求技术的人,始终都是为了技术而学技术,目的只有一个,一起追求技术的最高境界。
770 0
《你必须知道的.net》读书笔记 002——1.2 什么是继承
    1.2 什么是继承     “对于继承,就应该着手从这些容易误解与引起争论的话题来寻找关于全面认识和了解继承的答案。一点一滴摆出来,最后在对分析的要点做归纳,形成一种系统化认识。这就是一种探索问题的方式,用于剖析继承这一话题真是在恰当不过了。
834 0