對接口的思考——抽象與實現的分界

    接口,關係着抽象與實現。在應用層中,接口通常被引用或者說是調用,是抽象層的
    邏輯對象,在應用層中,實現是不必實現的--也就是說,我們沒必要向客戶交代我們
    是怎樣去實現的。我們提供的只要符合客戶的需要就可以了。下面是我的一下思考:
   

   1、等號的兩端。
       面向對象設計,重要的一個特點是多態。一個引用,可以引用多種態的對象,而這些
       對象只要符合引用的類型(type:類或者接口)。所以說,等號的左邊是抽象概念,
       而右邊是具體實現。在調用的時候,左邊的是代號,代表着右邊的實現。
   
    2、大括號內與大括號外:
       我們通常定義方法的時候,方法有方法名、返回值、參數,在JAVA中,這三個要素
       組成了方法。這三個要素也是經常出現在應用層,是括號外的東西。在這個方法究竟
       是要做什麼的也就是括號內的事情了,括號內的內容是它的真實實現,而括號外方法
       名也就是在調用層中,實現的代表而已,然而方法名可以說是抽象的。同上,在被調
       用的時候,方法名是代號,實現也就是括號內東東了。
      
    3、根據以上兩點我們可以得出。在調用層中,與客戶打交道的是抽象的、可作代號的東
       西,如引用、方法名。而具體的實現,我們是可以把它隱藏在這些抽象的、代號的後
       面,不必讓客戶知道。所以說,我們要搞好業務邏輯,我們用抽象的、代號的東西來
       表示。當我們確定了這些東西后,我們要構建的各種對象的抽象概念也比較容易地確
       定下來了。各種對象之間的關係,他們的責任的分配是怎樣也可以容易分清。最後我
       們再去關心括號內的事情就好了。這有點像測試驅動開發,先把可以測試的框架建立
       起來,然後再把括號內的具體實現做好,邊測試邊開發,到最後寫完代碼,程序也就
       差不多了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章