• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    什么叫面向接口編程

    發布: 2008-2-18 16:41 | 作者: 不詳 | 來源: 網絡論壇 | 查看: 83次 | 進入軟件測試論壇討論

    領測軟件測試網 在一個面向對象的系統中,系統的各種功能是由許許多多的不同對象協作完成的。在這種情況下,各個對象內部是如何實現自己的對系統設計人員來講就不那么重要了;而各個對象之間的協作關系則成為系統設計的關鍵。小到不同類之間的通信,大到各模塊之間的交互,在系統設計之初都是要著重考慮的,這也是系統設計的主要工作內容。面向接口編程我想就是指按照這種思想來編程吧!實際上,在日常工作中,你已經按照接口編程了,只不過如果你沒有這方面的意識,那么你只是在被動的實現這一思想;表現在頻繁的抱怨別人改的代碼影響了你(接口沒有設計到),表現在某個模塊的改動引起其他模塊的大規模調整(模塊接口沒有很好的設計)等等。

      Booch先生那天談到Interaction Designer,它就是指做這類設計的人,只不過層次更高一些。我想目前我們的軟件設計隊伍中,這類人是最缺乏的人才之一。
    非接口編程?是不是就是面向過程的編程思想?

      1.關于接口的理解。

      接口從更深層次的理解,應是定義(規范,約束)與實現(名實分離的原則)的分離。

      我們在一般實現一個系統的時候,通常是將定義與實現合為一體,不加分離的,我認為最為理解的系統設計規范應是所有的定義與實現分離,盡管這可能對系統中的某些情況有點繁煩。

      接口的本身反映了系統設計人員對系統的抽象理解。

      接口應有兩類:第一類是對一個體的抽象,它可對應為一個抽象體(abstract class);
      第二類是對一個體某一方面的抽象,即形成一個抽象面(interface);
      一個體有可能有多個抽象面。
      抽象體與抽象面是有區別的。

      2.設計接口的另一個不可忽視的因素是接口所處的環境(context,environment),系統論的觀點:環境是系統要素所處的空間與外部影響因素的總和。任何接口都是在一定的環境中產生的。因此環境的定義及環境的變化對接口的影響是不容忽視的,脫離原先的環境,所有的接口將失去原有的意義。

      3.按照組件的開發模型(3C),它們三者相輔相成,各司一面,渾然一體,缺一不可。

      面向對象是指,我們考慮問題時,以對象為單位,考慮它的屬性及方法;

      面向過程是指,我們考慮問題時,以一個具體的流程(事務過程)為單位,考慮它的實現;

      接口設計與非接口設計是針對復用技術而言的,與面向對象(過程)不是一個問題。

      我認為:UML里面所說的interface是協議的另一種說法。并不是指com的interface,CORBA的interface,Java的interface,Delphi的interface,人機界面的interface或NIC的interface。

      在具體實現中,是可以把UML的interface實現為語言的interface,分布式對象環境的interface或其它什么interface,但就理解UML的interface而言,指的是系統每部分的實現和實現之間,通過interface所確定的協議來共同工作。

      所以我認為,面向interface編程,原意是指面向抽象協議編程,實現者在實現時要嚴格按協議來辦。也就是Bill Joy同志說的,一邊翻rfc,一邊寫代碼的意思。面向對象編程是指面向抽象和具象。抽象和具象是矛盾的統一體,不可能只有抽象沒有具象。一般懂得抽象的人都明白這個道理。 但有的人只知具象卻不知抽象為何物。

      所以只有interface沒有實現,或只有實現而沒有interface者是沒有用的,反OO的。

      所以還是老老實實面向對象編程,面向協議編程,或者什么都不面向,老老實實編程。

      但是我很討厭討論這樣的術語,不如我們談談什么叫面向領導的編程?面向用戶的編程?領導和用戶有時都很BT,我們就面向BT編程?

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 編程


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>