寫給Python初學(xué)者的設(shè)計模式入門 有沒有想過設(shè)計模式到底是什么,?通過本文可以看到設(shè)計模式為什么這么重要,,通過幾個Python的示例展示為什么需要設(shè)計模式,以及如何使用,。
設(shè)計模式是什么,?
設(shè)計模式是經(jīng)過總結(jié)、優(yōu)化的,,對我們經(jīng)常會碰到的一些編程問題的可重用解決方案,。一個設(shè)計模式并不像一個類或一個庫那樣能夠直接作用于我們的代碼。反之,,設(shè)計模式更為高級,,它是一種必須在特定情形下實現(xiàn)的一種方法模板。設(shè)計模式不會綁定具體的編程語言,。一個好的設(shè)計模式應(yīng)該能夠用大部分編程語言實現(xiàn)(如果做不到全部的話,,具體取決于語言特性)。最為重要的是,,設(shè)計模式也是一把雙刃劍,,如果設(shè)計模式被用在不恰當(dāng)?shù)那樾蜗聦斐蔀?zāi)難,進(jìn)而帶來無窮的麻煩,。然而如... AngularJS 指令(Directives)實踐指南(一)指令(Directives)是所有AngularJS應(yīng)用最重要的部分,。盡管AngularJS已經(jīng)提供了非常豐富的指令,但還是經(jīng)常需要創(chuàng)建應(yīng)用特定的指令,。這篇教程會為你講述如何自定義指令,,以及介紹如何在... 搶沙發(fā)評論 Android Studio vs Eclipse:你需要知道的那些事轉(zhuǎn)用Android Studio開發(fā)前,你需要知道我寫的這個指引里,,包含了一些當(dāng)你要把Eclipse項目轉(zhuǎn)到Andorid Studio前需要知道的基本信息,。如果你有一個大型項目還沒完成從Eclipse到Android Studio的轉(zhuǎn)換,如果考慮節(jié)省時間,,花一到兩個小時就可以和那些曾經(jīng)做過這事的AirPair的專家一起完成,。不然的話,請繼續(xù)讀下去吧,。 對WorkSapces和Sub-Projects說再見在Eclipse中,,你可能對“Workspace”的概念很熟悉,。甚至很可能就正有一個這樣的安卓項目:包含了各種成員項目和編譯成”.jar”的文件,這些文件還會包含在最終生成的應(yīng)用里,。在Andorid Studio中,,project被“Modules”和“Library Modules”取代。 ModulesModules是“一種獨立的功能單元,,可以運行,、測試并且獨立調(diào)試”,和Eclipse project的概念有點像,,但有幾點不同,。 每一個Module需要有屬于自己的Gradle build file(當(dāng)你新建一個Module時會自動幫你生成的,當(dāng)你導(dǎo)入一個Eclipse的項目時需自己創(chuàng)建),。這些Gradle文件包含了一些很重要的內(nèi)容,, 和Eclipse上的一樣,,一些Modules可能是”Library Modules”,功能上與”Library projects”一樣的,。 改進(jìn)的界面設(shè)計Android Studio有一個改進(jìn)的設(shè)計窗口界面,,在這里你可以看到你設(shè)計的界面以及相關(guān)的元素。Eclipse中也有一個相似的界面設(shè)計窗口,,所以應(yīng)該不會帶給你太大的震撼,。在Eclipse中,這個窗口提供了視圖和可見動作,,以及和資源文件關(guān)聯(lián)的分發(fā)機(jī)制,、多任務(wù)和信息過濾。 包含對jar文件的支持與Eclipse中遇到的一樣,,你會經(jīng)常需要用到第三方開發(fā)的JAR文件。然而你現(xiàn)在需習(xí)慣將這些.jar依賴包加入到你的Gradle中,。右擊”libs”目錄下的.jar文件,,然后選擇”Add As Library”。這樣你所選擇的Jar文件將會自動地添加成Gradle的依賴包在你對應(yīng)的Moule中,。 添加Module依賴與Eclipse類似,,一個Module可能依賴于其他Module。請跟著這些步驟來建立兩個modules之間的依賴,,然后Android Studio將會自動地生成需要的Gradle元素,。 向Android Studio遷移閱讀關(guān)于如何從Android Studio向Eclipse遷移項目,可在我的這篇文章——“向AndoridStudio導(dǎo)入或?qū)С鲆呀?jīng)存在的Elipse項目”中了解具體的流程,。文章里寫了很多可能會發(fā)生的潛在問題,,所以在這里就不講更多的細(xì)節(jié)了,。 Gradle 基礎(chǔ)知識新增的Gradle將會是你轉(zhuǎn)到Android Studio上最大的障礙。下面有幾個你需要知道的基礎(chǔ)知識:
更多有關(guān)Gradle的內(nèi)容可以在這里找到,。 使用測試支持JUnit單元測試讓Andorid Studio更完整,,更多請參考這里。建立和運行一個單元測試包括:建立一個新的單元測試類和添加它們到項目的run configuration中,。跟著鏈接的指引可以了解更多的細(xì)節(jié),。流行的測試框架如Roboguice到現(xiàn)在還沒完全支持,但如果近期內(nèi)出現(xiàn),,我也不會覺得驚訝,。 通過Maven導(dǎo)入遠(yuǎn)程依賴Android Studio允許你從Maven Central中導(dǎo)入遠(yuǎn)程庫文件。在Maven Central中瀏覽你可能會感興趣的遠(yuǎn)程庫文件,,然后跟著這些指示確保這些依賴能在編譯的時候自動下載進(jìn)去,。 那么這就是你需要知道的一些基礎(chǔ)知識。Android Studio正在高速的發(fā)展中,,而且看起來每周都變得越來越好,,去看一下吧。 開發(fā)者逆向工程將《星際爭霸》移植到ARM平臺沒有源代碼就無法移植的規(guī)則并不完全正確,。OpenPandora項目開發(fā)者宣布利用逆向工程技術(shù)將經(jīng)典即時戰(zhàn)略游戲《星際爭霸》移植到了ARM平臺。開發(fā)者利用ia32rtools工具將星際爭霸的代碼從x86... iOS7 最佳實踐:一個天氣應(yīng)用案例(下)開始
你有兩個選擇開始本教程:您可以使用在本教程的第1部分你已完成的項目,,或者你可以在這里下載第1部分已完成的項目,。
在前面的教程中你創(chuàng)建了你的App的天氣模型 – 現(xiàn)在你需要使用OpenWeat... 技術(shù)經(jīng)理應(yīng)該把 30% 的時間用在編程上 本文的作者Eliot Horowitz是MongoDB的創(chuàng)始人和技術(shù)總監(jiān)。
在一個科技公司里,,軟件技術(shù)經(jīng)理用在編程上的時間應(yīng)該不低于總工作時間的30%,。無論是管理一個團(tuán)隊,,還是一個分部,還是整個公... iOS7 最佳實踐:一個天氣應(yīng)用案例(上)在這個兩部分的系列教程中,,您將探索如何使用以下工具和技術(shù)來創(chuàng)建自己的App:
Cocoapods
Manual layout in code(純代碼布局)
ReactiveCocoa
OpenW... 讓PHOTOSHOP運行速度變快的10個技巧 如果你在處理較大尺寸的圖片,、使用像HDR、圖像合成或者3D和視頻等類似的功能,,優(yōu)化Photoshop的性能是非常關(guān)鍵的,。這篇文章中,我會為大家介紹幾種提高Photoshop性能的建議,,使其在你的電腦... iOS系列譯文:玩轉(zhuǎn)字符串在每個應(yīng)用里我們都大量使用字符串,。下面我們將快速看看一些常見的操作字符串的方法,過一遍常見操作的最佳實踐,。
字符串的比較,、搜索和排序
排序和比較字符串比第一眼看上去要復(fù)雜得多。不只是因為字符串可以... iOS系列譯文:字符串渲染在這次issue中我們已經(jīng)討論了很多關(guān)于字符串不同的話題,,從編碼到本地化再到語法分析,。但多數(shù)情況下,字符串最終還是需要被繪制到屏幕上供用戶查看,、交互,。這篇文章涵蓋了最基本、最好的練習(xí),,以及在用戶界面上... SQL Server內(nèi)存遭遇操作系統(tǒng)進(jìn)程壓榨案例場景:
最近一臺DB服務(wù)器偶爾出現(xiàn)CPU報警,,我的郵件報警閾(請讀yù)值設(shè)置的是15%,開始時沒當(dāng)回事,,以為是有什么統(tǒng)計類的查詢,,后來越來越頻繁。
探索:
我決定來... 12款很棒的瀏覽器兼容性測試工具推薦對于前端開發(fā)工程師來說,,確保代碼在各種主流瀏覽器的各個版本中都能正常工作是件很費時的事情,,幸運的是,有很多優(yōu)秀的工具可以幫助測試瀏覽器的兼容性,,讓我們一起看看這些很棒的工具,。
Spoon Brows... 金庸筆下的良好代碼風(fēng)格我零九年看過一本小說,講程序員的故事,,從此,了解了一個新物種,。最近又看《紅樓夢》,,史湘云有條謎語:“溪壑分離,紅塵游戲,,真何趣,?名利猶虛,,后事終難繼?!蔽乙幌?,這不就是程序猿嗎?
我學(xué)過半年編程,,唯... 比特幣之父中本聰:神秘身份與虛假投影有一群人,,他們生活在一個洞中,頭頸被鐵鏈固定著,,只能看到前方的洞壁,。而他們的后方有堆火,有人舉著各種各樣的假人獸雕像,,在洞穴墻壁上投射出不同的影像,,時而做聲時而緘默。因此,,那些被蒙蔽的人們就把這些影像... 蘋果發(fā)布iOS 7.1更新 支持CarPlay蘋果公司今天正式推送iOS 7.1更新,,支持鏈接CarPlay,只要將用戶的iPhone連接到啟用了CarPlay的汽車,,可支持“電話”,、“音樂”、“地圖”,、“信息”和第三方音頻應(yīng)用程序,,并可通過Si... 依賴 IDE 做開發(fā),會讓你成為一名糟糕的程序員么,?使用Notepad++編程比使用Visual Studio讓你感覺更好,?
那晚我正讀著Rob Conery寫的一篇文章,其中談到了他對職業(yè)生涯的選擇,,對編程語言的選擇以及這過程中留有的一些遺憾,。很多... 設(shè)計模式已經(jīng)隕落了?你現(xiàn)在是坐在一個程序員旁邊嗎,?如果是的話,,那么在你讀下面的段落之前,有一個簡單的實驗,。讓他們到一邊去,,問問他們兩個問題并記錄下答案。首先問他們“什么是設(shè)計模式,?”然后再問“說出你能回憶的設(shè)計模式的名字... 安卓開發(fā)者必備的幾個工具作者Rex St.John不僅是UX-RX.com的創(chuàng)始人,,還是AirPair里的安卓專家。作為一名手機(jī)軟件高級工程師,,他曾為世界500強的公司開發(fā)了一些企業(yè)級手機(jī)和平板應(yīng)用,。他開發(fā)的一個應(yīng)用有數(shù)百萬... Android熱點回顧第九期文章、教程
使用Robolectric對遠(yuǎn)程圖像進(jìn)行單元測試
Chuck Greb在aweber網(wǎng)站上描述了他們是如何實現(xiàn)對開源Picasso圖像下載庫的單元測試,。
幻燈片:高效的Android... |
|