發表於2024-12-21
你是否還在為瞭“三層”而“三層”?甚至不知道為什麼分層。
你是否還在為項目中難以維護的SQL語句而頭疼不已?
你是否還不知道MongoDB這樣的非關係型數據庫也可以使用ORM框架?
你是否對前端或測試這些領域也一無所知?
你是否麵對高並發時手足無措?
……
本書將以輕鬆幽默的風格解決你所麵臨的這些問題。
本書以一個真實的項目案例——“晉商卡”從無到有的整個開發過程為主綫,用大話的語言風格,風趣幽默地講解瞭代碼架構的相關知識。本書通過5個人物角色,模擬實際的項目開發過程,以對話形式拋齣問題,然後解決問題,讓你在身臨其境中輕鬆愉快地掌握代碼架構的知識。
本書涵蓋的主要內容有敏捷開發的方法論、項目開發流程、傳統的三層架構、源代碼管理、幾種常見的實體關係模型、使用IoC和接口、使用緩存和靜態頁麵減少服務器壓力、在項目中使用消息隊列、嘗試使用前端框架、微信公眾號開發及小程序開發。
本書適閤對代碼架構感興趣的初學者和愛好者閱讀。另外,高校學生和參加軟件開發的培訓學員也可將本書作為興趣讀物。對於初入職場還比較迷茫的程序員,本書可以作為一本提高讀物來閱讀。建議閱讀本書的讀者具有一定的C#語言基礎。
一分鍾瞭解本書精華內容
引言
故事從一個電商開始
為什麼是三層
ORM實體關係映射
換個數據庫試試
越俎代庖搞稿測試
神奇的緩存
程序員眼中的前端
人生中的第*次高並發
微信公眾號
田偉
自稱MOL。長期從事軟件開發及團隊管理工作。擅長代碼框架的搭建和優化。善於將敏捷方法論用於項目開發中,從而提高團隊的開發效率。堅持一個原則,即自己認為好的東西應該分享給大傢。提倡軟件開發不僅需要“工匠精神”,也需要“懶人”精神。喜歡以幽默風趣的語言風格講述技術問題,並以此風格著有《ASP.NET入門很簡單》一書,頗受讀者好評。
郎小嬌
畢業於北京工業大學。現任職於某著名互聯網公司,任産品經理。對方法論有獨特的見解,尤其對敏捷開發的方法論頗有見解。經常把“哲學思維”用於工作。善於使用不同的方法論指導項目成員的工作,規避項目的風險。曾主導過某大型購物網站的架構工作,以及主要模塊的設計實現。
隻是因為在書叢中多看瞭你一眼,就再也沒能忘記你的內容和風格。難得有計算機類的書籍能讓人如此輕鬆愉悅地讀完。閱讀這本書,不僅能讓你感受到作者字裏行間的歡樂,還能讓你有很豐厚的技術收獲。相比大多數軟件開發類圖書,《大話代碼架構》這本書分享的不僅僅是技術層麵的東西,還有對開發思想的領悟,值得一讀。
——牛昭 中體彩科技發展有限公司技術經理
一本好書,就像一個好朋友一樣,隔三差五地想見他一麵。MOL與郎小嬌的大作《大話代碼架構》就是這樣的一本書。書中以情景對話的方式,用通俗易懂的語言介紹瞭與代碼架構相關的很多開發知識,不僅有原理性講述,還有大量的原創實踐,值得推薦給廣大讀者閱讀!
——王化軍 優闆科技、京融界、京錢客、京融客聯閤創始人
作為MOL的同事,很高興嚮大傢推薦《大話代碼架構》這本書。書如其人,風趣幽默,又不失內涵。很多晦澀難懂的專業技術,經過作者的大話式解讀之後,馬上變得通俗易懂,活靈活現,讓人很容易理解。如果你還不知道代碼架構為何物,或者你在程序架構的道路上走得比較迷茫,那麼本書絕對是你的不二之選!
——徐鴻飛 中體彩科技發展有限公司技術經理、信息顯示遊戲項目負責人
序言
前言
引言 1
一個架構師的例子 1
背景及人物介紹 3
我們的目標 3
第1篇 需求與三層架構
第1章 故事從一個電商網站開始 6
1.1 需求?需求! 6
1.2 敏捷開發簡介 8
1.3 UI——用戶界麵 9
1.3.1 從UE說起 9
1.3.2 HTML 5 & CSS 3 9
1.3.3 微信 10
1.4 數據庫 10
1.4.1 PowerDesigner設計工具 11
1.4.2 關於SQL語句 12
第2章 為什麼是三層 14
2.1 MOL帶兄弟們去吃飯 14
2.2 動手寫一個三層結構 16
2.2.1 DAL層的實現 17
2.2.2 BLL層的實現 18
2.2.3 UI層的實現 19
2.3 簡說MVC 20
2.3.1 糾正一下老師的說法 20
2.3.2 MVC的第一個程序 21
2.3.3 為什麼要用MVC之我見 25
2.4 嚮三層代碼中加入麵嚮對象 25
2.4.1 實例化數據庫錶 26
2.4.2 增加數據庫操作類 29
2.4.3 加強版的數據庫操作類 30
2.5 小說代碼管理 33
2.5.1 什麼是代碼管理軟件 34
2.5.2 TFS管理軟件 36
2.5.3 SVN管理軟件 40
2.5.4 Git管理軟件 41
2.6 小結 51
第3章 ORM實體關係映射 52
3.1 說說OCP開放封閉原則 52
3.2 解耦第一步——接口要上位 53
3.2.1 代碼結構的前提 53
3.2.2 創建接口層 56
3.3 解耦第二步——工廠模式解決new的問題 58
3.4 Spring.NET橫空齣世 61
3.4.1 酒文化發展史 61
3.4.2 神奇的IOC 62
3.4.3 引齣Spring.NET 64
3.5 我不想寫SQL語句 67
3.5.1 什麼是ORM 68
3.5.2 ORM之iBATIS.NET 70
3.5.3 ORM之NHibernate 75
3.5.4 ORM之EF 86
3.5.5 懶人無敵 93
3.5.6 完成查詢操作 106
3.5.7 數據庫先行、模型先行、代碼先行 109
3.6 小結 110
第2篇 NoSQL和測試
第4章 換個數據庫試試 112
4.1 客戶總有一些非分的想法 112
4.2 MongoDB簡介 113
4.2.1 安裝&配置 114
4.2.2 可視化工具 116
4.2.3 MongoDB的基本操作 119
4.3 .NET操作MongoDB 121
4.4 讓NoSQL麵嚮對象 123
4.4.1 實體抽象 124
4.4.2 操作抽象 132
4.5 NoSQL題外話 135
4.6 關於日誌 136
4.6.1 為啥要寫日誌 136
4.6.2 如何寫日誌 138
4.6.3 注意事項 144
4.7 小結 145
第5章 越俎代庖搞搞測試 146
5.1 簡單說測試 146
5.2 冒煙測試 147
5.3 黑盒測試 148
5.4 單元測試 149
5.4.1 單元測試是什麼 150
5.4.2 如何進行單元測試 150
5.4.3 測試驅動開發 161
5.5 白盒測試 162
5.6 壓力測試 163
5.7 其他測試 163
5.8 小結 163
第3篇 高精尖技術
第6章 神奇的緩存 166
6.1 網站崩潰瞭 166
6.2 緩存是什麼 168
6.3 微軟提供瞭緩存 170
6.4 自己做緩存 173
6.5 第三方緩存 176
6.5.1 MemCache緩存 178
6.5.2 Redis緩存 189
6.5.3 把緩存抽象齣來 197
6.5.4 讀寫分離 198
6.6 利用模闆引擎生成靜態頁麵 198
6.6.1 初識NVelocity 200
6.6.2 使用NVelocity生成靜態頁麵 207
6.6.3 靜態頁麵帶來的問題 211
6.7 CDN的加入會大大減少服務器的壓力 212
6.8 小結 213
第7章 程序員眼中的前端 215
7.1 常見的前端框架 216
7.2 嘗試EasyUI 220
7.2.1 基礎框架 220
7.2.2 常用的控件 232
7.2.3 小說權限分配 247
7.3 其他的前端框架 264
7.3.1 Bootstrap框架 264
7.3.2 jQuery UI框架 265
7.4 小說HTML 5 265
7.5 小結 266
第8章 人生中的第一次高並發 267
8.1 網站又崩潰瞭! 267
8.2 從相親說起 268
8.3 簡述消息隊列 270
8.3.1 串行設計 270
8.3.2 多綫程設計 271
8.3.3 消息隊列設計 274
8.4 常見的消息隊列 275
8.4.1 MSMQ消息隊列 275
8.4.2 RabbitMQ消息隊列 282
8.5 小結 288
第9章 微信公眾號 289
9.1 李老闆齣場,請熱烈鼓掌 289
9.2 初探微信公眾號 290
9.2.1 申請訂閱號 291
9.2.2 小機器人 294
9.2.3 把晉商卡掛到微信公眾平颱上 298
9.3 微信小程序 299
9.3.1 微信小程序是什麼 299
9.3.2 寫一個簡單的Demo 300
9.4 微服務 310
9.5 MongoDB數據庫 312
9.6 大數據 314
9.7 小結 316
序言
2017年是不平凡的一年。
時隔4年,Nokia終於帶著情懷迴歸瞭。
蘋果也迎來瞭10周年紀念。
微信小程序對個人用戶開放瞭。
2017年是一個非常強調“工匠精神”的一年,但是MOL(即筆者本人)在本書中強調的是“懶人精神”。不管你承認與否,所有的人都希望自己能不勞而獲。當然,這隻是一個美好的願望。MOL隻能教大傢做最少的事情來賺取更多的休息時間及陪伴傢人的時間,這就是我所謂的“懶人精神”。
有些讀者可能好奇為何筆者給自己起瞭MOL這個奇怪的筆名。關於這個問題,筆者在2014年齣版的《ASP.NET入門很簡單》一書中有過交代,有興趣的讀者可以去看看那本書。
凡屬過往,皆為序章。
寫《ASP.NET入門很簡單》的時候,MOL剛剛結婚。在寫本書的時候,MOL已經有瞭幸福的三口之傢,寶寶已經可以通過一些簡單的詞匯來錶達自己的情緒和意願,並且還會跟MOL搶鍵盤。我的妻也在為這個幸福之傢努力奮鬥。想想自己真是幸運。雖然本書寫得艱苦,傢庭工作瑣事也繁多,但是為瞭自己的這份幸運和廣大期待本書已久的“摩絲”(MOL的粉絲),即使再艱苦,MOL都沒有放棄。
所謂更牛,隻是換個“罪”受。
作為一個技術宅男,MOL更願意每天隻對著計算機寫寫代碼就可以完成自己養傢糊口的任務。理想總是那麼豐滿,而現實又是如此骨感。對於一個職業程序員來說,MOL的經曆還算比較豐富。記得圖書市場上齣版過一本《不想當廚子的裁縫不是好司機》,後來這個有點無厘頭的書名成瞭一句經常被人引用的調侃語。在此MOL也想把這句話改改,和朋友們說“不想當程序員的藝術傢不是好魔術師”。非常幸運,這幾種職業MOL都做過,也希望讀者朋友們的職業經曆豐富一些。
在我帶領自己的技術團隊做項目的時候,經曆過痛苦,也經曆過歡笑。我一直都覺得自己非常幸運,因為在本書中齣現的劉朋、嶽鵬輝、李衝衝他們3個人,悟性非常高,而且頗有自己的見解。在徵得他們的同意後,他們將以真實名字在本書中齣現。
MOL不是大牛,隻是願意把自己的經曆與更多的人分享。所以,本書中並沒有講解非常高、精、尖的技術,而是帶領大傢走進瞭“懶人”的世界。每個程序員都會進入迷茫期,不知道自己要乾什麼。所以希望本書能從另一個也許大傢從未思考過的角度給大傢一些啓發。
從你翻開本書的第一頁開始,MOL相信你已經準備好換一種“受罪”的方式瞭,那你離“更牛”也就不遠瞭!
最後,MOL要響應習主席的號召,擼起袖子,加油乾!對於MOL和大多數的“摩絲”來說,恐怕我們要脫掉鞦褲,加油跑瞭!
先給自己定一個小目標,今年,2017年,我要成為一個“懶人”!
田偉
前言
架構(Architecture)是什麼?可能每個人給齣的答案都不同。業界流行一句笑話:
Architecture is like teenage sex, everybody talks about it,nobody really knows what it is.
當然,MOL也不可能給齣一個關於架構的準確定義。MOL更願意把架構歸為哲學的範疇。架構本身其實和軟件開發並無太大關係。一個國傢有自己的管理體係;一個公司有自己的組織架構;一個傢庭也有獨特的男權或女權的特色,小到一個人;也是可以分為自我、本我和超我的。每個事物都是由一個個更小的事物組閤而成的,而這些其實都與架構相關。
在宏觀世界裏,所有的國傢公民構成瞭一個國傢主體,國傢主體對每個公民進行管理和約束,這是架構。
在微觀世界裏,電子繞著原子核高速轉動,始終不會脫離原子核的管轄範圍。而原子核和電子又組成一個原子。原子對電子、質子、中子的管理就是架構。
本書的讀者一定是軟件行業的高手或菜鳥,那我們就迴到軟件編程的世界裏。
每個軟件項目都是由代碼和服務器構成的,如何統籌安排代碼和服務器,就是架構的範疇瞭。
一個項目可能要使用多颱服務器,如Web服務器、數據庫服務器、文件服務器、CDN……如何針對不同的要求對服務器進行選型,這是架構;如何統一管理這些服務器,這是架構;如何讓這些服務器平穩運行,這也是架構。
開發項目使用什麼語言,是Java還是Node.js?選用什麼數據庫,是Oracle還是MongoDB?這是架構。
具體到開發過程中,某個模塊應該如何安排,是交給DBA(數據庫管理員)用存儲過程來實現,還是讓C#程序員訪問數據庫實現?這是架構。
在寫C#代碼的時候,采用三層架構,還是MVC?這是架構。
如何寫日誌,是使用I/O讀寫文件?還是采用log4net?或者是AOP切片寫日誌?這是架構。
甚至具體到某種技術的時候,也有架構。比如MOL規定項目要使用MVC架構,那麼使用微軟的MVC,還是Spring的MVC?這都是架構。
可見,架構涉及的範圍非常之廣。弱水三韆,MOL隻給一瓢。本書將從代碼架構的角度來讓大傢一窺架構的真麵目。
C#是一門非常優雅的編程語言(當然MOL並無編程語言的偏見),所以本書中所有的代碼都以C#語言來描述。
本書特色1.風趣幽默
MOL一直比較反對平鋪直敘的講解方式,所以本書的語言風格是比較幽默的。在本書的內容中將齣現3個與MOL並肩作戰的兄弟(公司老大鄧總不在此列),以對話形式拋齣問題並解決問題。
2.案例分析
本書中隻有一個項目“晉商卡”,但MOL會帶著大傢見證“晉商卡”從無到有的過程,大傢可以在這個過程中獲得很多意想不到的收獲。
3.嚮循規蹈矩說NO
正如MOL在結語中所說,2017年是一個強調“工匠精神”的一年。幾乎所有的人都在精益求精地做自己的事情。但MOL要分享給大傢的是一種懶人精神,我們不願意日復一日地重復昨天的自己,我們要站在更高的層麵,做更少的事情,卻有更多的收獲。
本書內容及體係結構第1篇 需求與三層架構(第1~3章)
本篇詳細介紹瞭項目開發的前置節點——需求,並對常見的三層架構給齣瞭分析。在第1篇中提齣瞭麵嚮對象的重點概念,並讓大傢初步認識抽象的過程。
相信很多人一定被書中大段的SQL代碼搞得雲裏霧裏,不用擔心,在第3章中MOL將帶領大傢完成懶人的第一步——如何不寫SQL代碼。
第2篇 NoSQL和測試(第4、5章)
NoSQL是現在比較流行的一個話題和技術。在第4章中將通過講解MongoDB來介紹NoSQL如何使用,並且糾正大傢的一個錯誤觀念:NoSQL和ORM不能搭配使用。
第5章分享瞭測試的工作,並講解瞭單元測試、黑盒測試、白盒測試……讓大傢在收獲的同時,也能理解測試工程師在工作中所要麵臨的一些痛苦。
第3篇 高精尖技術(第6~9章)
任何一個網站項目,似乎都繞不開“緩存”這個神奇的空間。緩存用得好,可以加快係統的反應速度。如果緩存用得不好,不僅用戶體驗差,還可能造成服務器宕機。第6章就分享瞭如何使用緩存。
每個程序員都有一個全棧的夢想,而前端又是全棧中必不可少的一部分,第7章講解瞭如何使用EasyUI來搭建前端。
現在越來越多的電商網站都會做一些搶購或促銷活動,當然這就使得網站不可避免地麵臨高並發。如何處理高並發呢?第8章將通過講解消息隊列,來說明如何應對高並發。
微信已經成瞭人們生活中必不可少的一部分。在2017年3月27日這一天,微信小程序也對個人用戶開放瞭。我們如何把“晉商卡”掛到微信公眾平颱上,又如何開發微信小程序呢?這些問題都將在第9章中 大話代碼架構(項目實戰版) 下載 mobi epub pdf txt 電子書 格式
大話代碼架構(項目實戰版) 下載 mobi pdf epub txt 電子書 格式 2024
大話代碼架構(項目實戰版) 下載 mobi epub pdf 電子書挺不錯的,買瞭五本套裝,好好看!!
評分衝阿裏巴巴買的,圖書節滿100減50,有空再看
評分趕上618活動,攢瞭好久的書可以一次都買迴來瞭,得好好學習纔行。
評分京東購物很方便 趕上活動價格也很美麗 還有京豆能拿 真心不錯
評分本書詳細介紹瞭數據科學項目的三個階段。準備階段進行信息收集;構建階段將計劃付諸行動,利用準備階段獲得的信息以及相關統計和軟件提供的可用工具來構建産品;交付階段進行産品的交付、反饋及修改等。本書在介紹過程中會教你如何預見問題以及如何處理不確定性,一步步引導你完成軟件和科學思維的佳實踐。
評分書很好,很滿意,有需要再來買
評分好好好好,很好,很好,很棒呀,這個東西很棒呀,很適閤,很感謝京東,的京東東西就是棒棒棒好好好好,很好,很好,很棒呀,這個東西很棒呀,很適閤,很感謝京東,的京東東西就是棒棒棒好好好好,很好,很好,很棒呀,這個東西很棒呀,很適閤,很感謝京東,的京東東西就是棒棒棒好好好好,很好,很好,很棒呀,這個東西很棒呀,很適閤,很感謝京東,的京東東西就是棒棒棒
評分絕對的一本好書,值得一讀,買書上京東,京東品質值得信賴,靠譜放心。
評分快遞送貨的速度還是比較快的,但是包裹的保護工作做得不夠好,收到書籍的時候,書有些角落給磨壞瞭
大話代碼架構(項目實戰版) mobi epub pdf txt 電子書 格式下載 2024