程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 架構師-想請教下各位關於java接口設計的問題

架構師-想請教下各位關於java接口設計的問題

編輯:編程綜合問答
想請教下各位關於java接口設計的問題

我知道,java抽象類是一種“是什麼”的關系,接口則是一種“有什麼”的關系。那麼在實際開發中,接口的設計過程是怎樣的?我這裡有三種想法,不知道是哪一種,或者都不是。
1、從上到下設計,我以map接口為例,就是架構師設計好map接口,然後再讓程序員去實現HashTable,HashMap等類(ps:HashMap跟HashTable實現了map接口)。這裡“從上”的意思就是先設計接口,“到下”就是再根據接口去實現類
2、跟1相反,是從下到上進行設計,就是先實現好類HashMap、HashTable等,再通過重構手段,不斷提煉超類,直至最後成為接口
3、采用缺省適配器模式。就是寫完HashMap之後,將其方法提煉為接口map1。之後再要實現HashTable等類的時候,抽取HashMap與HashTable的共同部分為接口map2,讓這兩個類都實現map2,再去掉原先的map1
不知道在實際開發中用的是哪一種方式?如果我說的三種都是錯的 ,懇請您跟我說說對的是什麼樣子的,感謝。

最佳回答:


接口在Java中本身有不同的用法:
(1)對組件解耦,比如說類似代碼分層之類的。這種情況就適合根據業務提煉接口
(2)封裝代碼,比如你說的設計數據結構、之類的,那麼就是先設計接口,再設計對應的類
(3)在Java 8以前,Java沒有事件、回調函數、Lambda函數之類的概念,因此注入代碼也通過接口實現。這種情況,其實接口只是扮演一個函數的容器而已,不需要什麼特別的設計。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved