<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到其他的服務中,最后導致你很難界定哪些類需要被重新加載。
    但是最近有一個人提出一個建議,為什么要實現完整的動態加載呢。其實只實現服務的實現類的動態加載就已經很好了。
    確實,如果保持接口不變,只在接口具體實現修改的時候加載,確實大大簡化了問題,因為這樣變化范圍就被限定在單個類之內了。雖然這樣并不完美,因為如果改變了對外接口,比如,添加了一個新的方法,或者改變了方法的簽名,還是需要重新啟動服務器。可是這樣也已經在很大程度上提升了用戶的使用滿意度。
    正如有句古語所說:退一步海闊天空。也在此提醒自己在以后的開發過程中,盡量拓展自己的思維,不要一下子鉆到牛角尖里。



    主站蜘蛛池模板: 一级美国片免费看| 成人黄软件网18免费下载成人黄18免费视频 | 极品美女一级毛片免费| 成人免费看片又大又黄| 亚洲免费视频播放| 久草视频免费在线| 亚洲导航深夜福利| 美女裸身网站免费看免费网站| 免费看片在线观看| 亚洲毛片网址在线观看中文字幕| 亚洲综合无码AV一区二区| 亚洲youwu永久无码精品| 18禁无遮挡无码网站免费| 亚洲欧洲精品久久| 999国内精品永久免费观看| 久久精品国产亚洲AV无码娇色| 美女内射无套日韩免费播放 | vvvv99日韩精品亚洲| 亚洲妇熟XXXX妇色黄| 一本天堂ⅴ无码亚洲道久久| 成人在线免费视频| 国产午夜亚洲精品午夜鲁丝片| a级毛片高清免费视频就| 69成人免费视频无码专区| 国产AV日韩A∨亚洲AV电影| 亚洲国产专区一区| 人妻在线日韩免费视频| 又大又粗又爽a级毛片免费看| 久久夜色精品国产亚洲AV动态图 | 久久伊人免费视频| 日本无吗免费一二区| 亚洲色欲www综合网| 中文字幕在线视频免费观看| 亚洲AV日韩AV天堂久久| 最近免费中文字幕大全免费| 国产亚洲成人在线播放va| 青娱乐在线视频免费观看| 亚洲狠狠婷婷综合久久久久| 日韩大片在线永久免费观看网站 | 在线aⅴ亚洲中文字幕| 亚洲精品国产精品乱码不卞 |