<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    云自無心水自閑

    天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
    posts - 288, comments - 524, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    出自伏爾泰的名句。在許多優秀的程序員的編程習慣中,尋找解決方案就如同是尋找女友一般,總是力求完美,如果一個解決方案不夠完美的話,那么寧可舍棄也不會降低標準而采用。但是這樣的結果很有可能會是一葉障目,不見森林。
    舉個實際的例子來說,tapestry5的服務動態加載就是一個典型。
    大家知道,在Tapestry中,頁面模板的動態加載一直是其的一個宣傳點。也就是說,頁面模板如果修改了,不需要重新啟動應用服務器,修改即時生效。但是,Tapestry卻一直沒有實現服務的動態加載,也就是說服務的類修改了,就必須重新啟動服務器。為什么呢,因為追求完美。
    其實很久以前在Tapestry的作者的頭腦中,包括許多的用戶都想在Tapestry中加入服務動態加載的功能,但是最后作者卻放棄了。原因是因為,在Tapestry的架構中,服務比頁面要復雜的多,服務不是單獨存在的,他會被Inject到許多其他的服務,而這些服務又會被inject到其他的服務中,最后導致你很難界定哪些類需要被重新加載。
    但是最近有一個人提出一個建議,為什么要實現完整的動態加載呢。其實只實現服務的實現類的動態加載就已經很好了。
    確實,如果保持接口不變,只在接口具體實現修改的時候加載,確實大大簡化了問題,因為這樣變化范圍就被限定在單個類之內了。雖然這樣并不完美,因為如果改變了對外接口,比如,添加了一個新的方法,或者改變了方法的簽名,還是需要重新啟動服務器。可是這樣也已經在很大程度上提升了用戶的使用滿意度。
    正如有句古語所說:退一步海闊天空。也在此提醒自己在以后的開發過程中,盡量拓展自己的思維,不要一下子鉆到牛角尖里。



    主站蜘蛛池模板: 又硬又粗又长又爽免费看| 中文字幕亚洲情99在线| 国产黄在线观看免费观看不卡| 国产精品久久久久免费a∨| 亚洲尹人香蕉网在线视颅| 人人玩人人添人人澡免费| 亚洲国产精品久久66| 51视频精品全部免费最新| 亚洲国产日韩女人aaaaaa毛片在线| 91大神在线免费观看| 亚洲午夜电影在线观看| 天天影视色香欲综合免费| 亚洲六月丁香六月婷婷色伊人| 久草免费在线观看视频| 亚洲中文字幕一二三四区苍井空 | 亚洲欧洲国产成人精品| 99久久99久久精品免费看蜜桃 | 亚洲视频一区在线| 一二三四在线播放免费观看中文版视频| 亚洲系列中文字幕| 国产无遮挡又黄又爽免费视频| 九九全国免费视频| 在线日韩日本国产亚洲| 永久免费无码日韩视频| 亚洲日韩在线中文字幕第一页| 麻豆精品成人免费国产片| 亚洲精品在线免费观看视频| 免费观看的a级毛片的网站| jizz在线免费播放| 亚洲欧洲精品久久| 免费精品国产自产拍观看| 色www永久免费网站| 亚洲w码欧洲s码免费| 亚洲国产精品一区二区三区久久 | 最近最新的免费中文字幕| 男人扒开添女人下部免费视频| 666精品国产精品亚洲 | 三级黄色片免费看| 亚洲日本久久久午夜精品| 久久精品国产亚洲一区二区三区| 亚洲电影免费观看|