Spring為什么先定義接口

          首先你要理解OOP的思想,是面向接口編程.
          什么叫面向接口編程呢?
          假如你買了一個多媒體設備,它給了你一個遙控,你想要知道的只是按什么按鈕,它會播放什么
          而遙控里面是怎樣運行,還有屏幕里面怎么工作,你想知道嗎?
          你完全不會去想了解.
          那如果多媒體設備需要更新,比如優化內部運行效率,
          但是優化完了,遙控的按鈕不變,設備的所有操作方式都不變,按這個按鈕還是顯示相同的東西
          那內部怎么變化你完全不需要在意.

          這就是面向接口編程.
          無論類的內部怎么實現,它對外的接口不變,那它的使用方式就不會變
          假設Main類要使用D類的一個draw的方法,
          方法名叫 draw():void
          不管draw里面是怎樣的,Main類里就是這樣用,
          那么你就從這個接口出發,里面怎么實現是D類的事了,Main類只關心怎么用而已.
          其他類要使用它,還是相同
          這就大大減少了維護的成本.
          因為如果D類出問題,Main類是完全不用改變的.

          從上觀察,公開的接口越多,維護成本就越大.
          維護就越麻煩.所以我們先寫接口,定死了公開的接口,
          那維護就很方便,出錯也只是一個類的事,而不用同時修改多個協同類

          posted on 2016-06-16 16:40 youngturk 閱讀(188) 評論(0)  編輯  收藏 所屬分類: 筆試題

          <2016年6月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          導航

          統計

          公告

          this year :
          1 jQuery
          2 freemarker
          3 框架結構
          4 口語英語

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          EJB學習

          Flex學習

          learn English

          oracle

          spring MVC web service

          SQL

          Struts

          生活保健

          解析文件

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 天镇县| 芜湖市| 城步| 乌什县| 邢台县| 哈巴河县| 疏勒县| 慈利县| 潼关县| 延吉市| 宣威市| 克什克腾旗| 察雅县| 轮台县| 阿拉善左旗| 唐河县| 邢台县| 孟村| 明溪县| 沛县| 江山市| 扎兰屯市| 罗源县| 滁州市| 新绛县| 土默特左旗| 云南省| 定日县| 云和县| 武邑县| 罗定市| 潢川县| 沙田区| 和田县| 镇雄县| 洞头县| 麦盖提县| 佛坪县| 乡宁县| 枣阳市| 广河县|