圖一:圖二:鴨子對象,會游泳、會叫、會飛(變天鵝之后),但不是所有的鴨子都能飛(當它還是丑小鴨的時候),初步設計如圖一。這并不是一個復用性好的設計,有更好的解決方案(圖二)。原則是:1.找出應用中可能需要變化的地方,把它們獨立出來,不要和那些不需要變化的代碼混在一起;2.針對接口編程;3.多用組合少用繼承;圖二就是最簡單的策略模式(StrategyPattern):定義了算法族,分別封裝起來,讓它們之間可以相互替換,此模式讓算法的變化獨立于使用算法的客戶。
系統 2019-08-29 22:34:08 2805
1.在頁面加載后執行任務1.1代碼執行的時機選擇$('document').ready()指頁面的DOM加載完成后執行、并不意味著關聯的文件都下載完畢window.onload指頁面上所有元素都加載完成后執行1.2基于一個頁面執行多個腳本$('document').ready()可以向內部的行為隊列中添加函數、并按照添加的次序執行1.3縮短代碼的簡寫方式:$()函數1)當不傳遞參數給它時、默認傳遞了document參數示例:$(document).read
系統 2019-08-29 22:33:04 2805
轉自http://blog.csdn.net/nineday/article/details/1683437有時候有些常量需要根據需要作改動,如IP,port,數據庫的鏈接URL等,一般情況下我們把這些常量放在后綴是.properties的文件里,這樣既可以修改也很方便讀取。下面是以jboss作服務器作的一個讀取.properties的實驗,很簡單。ResourceBundle的getBundle("filename")方法會默認地到jboss的/serv
系統 2019-08-29 22:31:05 2805
轉自:http://www.zhihu.com/question/20583641/answer/20242980OSI模型主要作為一個通用模型來做理論分析,而TCP/IP協議模型是互聯網的實際通訊協議,兩者一般做映射分析,以下不做嚴格區分和聲明(好吧,比較懶);OSI整個模型層次大致可以分為3個主要層面來看|.............主機...............|操作系統和軟件等應用、表示、會話|.............網絡...........
系統 2019-08-12 09:30:38 2805
1、官網下載jdk,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,選擇jdk-8u40-linux-x64.tar.gz2、將文件解壓到指定目錄,并修改文件名sudomkdir/usr/lib/jvmsudotarzxvfjdk-8u40-linux-x64.tar.gz-C/usr/lib/jvmcd/usr/lib/jvmsu
系統 2019-08-12 01:33:51 2805
Tomcat5開始,context的配置就不放在/conf/server.xml中,而是每個context作為一個單獨的xml文件,放在/conf/Catalina/localhost目錄下,具體看之前寫過的Tomcat5Guide閱讀筆記。但是,如何修改Tomcat的根目錄呢,也就是/。經過多方資料查詢和試驗,發現應該這樣,首先和其他的webapp一樣,寫一個xml文件,如下:CODE:SELECTALL<
系統 2019-08-12 01:32:53 2805
上次說到函數WinHttpReadData接收數據到緩沖區里,那么這些數據又是怎么樣傳送給下一步處理的呢?帶著這個問題,我們來分析下面這段代碼,如下:#001voidHttpTransactionWinHttp::HandleStatusCallback(DWORDstatus,#002DWORD_PTRresult,#003DWORDerror,#004DWORDsecure_failure){#005intrv=ERR_FAILED;#006#007s
系統 2019-08-12 01:32:42 2805
瞎折騰不等于鉆研。說說為什么要用vim吧,一個字:“快”!現在給一個vim的入門教程:http://openvim.com/index.html再給一個vim的配置:https://github.com/perfectworks/vim再貼一個按鍵圖:好吧,我承認之前vim都白學了
系統 2019-08-12 01:32:06 2805
如下所示:sum=0n=99whilen>0:sum=sum+nn=n-2print(sum)只要條件滿足,就不斷循環,條件不滿足時退出循環。比如我們要計算100以內所有奇數之和,可以用while循環實現:在循環內部變量n不斷自減,直到變為-1時,不再滿足while條件,循環退出。#100以內奇數的和sum=0foriinrange(0,100):ifi%2==1:sum+=1print(sum)以上這篇Python-while計算100以內奇數和的方法就
系統 2019-09-27 17:53:48 2804
1.先使用Qtdesigner設計兩個窗口,一個是主窗口,一個是子窗口其中主窗口是新建-MainWindow,子窗口是Dialog窗體。兩個窗口不能是同一類型,否則會崩潰。并保存為EyeTracking_main.ui和EyeTracking_process.ui(因為我在做眼動追蹤,因此窗體命名與此相關,后同),使用UIC工具轉成.py文件。2.寫一個驅動函數調用兩個窗體主窗體Eyetracking_main.pyfromPyQt5importQtCor
系統 2019-09-27 17:48:48 2804