歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)

軟件開發(fā)中的決策 權(quán)衡與取舍

出版社:人民郵電出版社出版時(shí)間:2024-11-01
開本: 16開 頁(yè)數(shù): 364
中 圖 價(jià):¥72.9(7.3折) 定價(jià)  ¥99.8 登錄后可看到會(huì)員價(jià)
加入購(gòu)物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
本類五星書更多>

軟件開發(fā)中的決策 權(quán)衡與取舍 版權(quán)信息

軟件開發(fā)中的決策 權(quán)衡與取舍 本書特色

深刻剖析軟件設(shè)計(jì)決策中的權(quán)衡與取舍,涵蓋單體系統(tǒng)、微服務(wù)、大數(shù)據(jù)處理等多領(lǐng)域。 通過真實(shí)案例與代碼片段,展示軟件設(shè)計(jì)模式的實(shí)際應(yīng)用與錯(cuò)誤決策的教訓(xùn)。 深入分析軟件設(shè)計(jì)中的潛在問題與局限,提前預(yù)防未來可能出現(xiàn)的陷阱。 通過預(yù)識(shí)別設(shè)計(jì)問題,減少后期修改與重構(gòu)的成本。 闡釋如何平衡靈活性與復(fù)雜性、性能與優(yōu)化等關(guān)鍵設(shè)計(jì)要素。 提供一套系統(tǒng)化的方法,幫助軟件工程師在有限資源下做出更明智的決策。 通過增進(jìn)對(duì)軟件設(shè)計(jì)取舍的理解,提升代碼質(zhì)量與項(xiàng)目成功率。

軟件開發(fā)中的決策 權(quán)衡與取舍 內(nèi)容簡(jiǎn)介

軟件項(xiàng)目中的每一步都涉及權(quán)衡。在生產(chǎn)環(huán)境中,當(dāng)你在權(quán)衡速度、安全性、成本、交付時(shí)間、功能等因素時(shí),如何做出合理的設(shè)計(jì)選擇是重要問題。本書中的專業(yè)見解和貼合實(shí)際的故事將幫助你在設(shè)計(jì)和構(gòu)建應(yīng)用程序時(shí)做出正確的選擇。
本書探討了做出錯(cuò)誤權(quán)衡決策的真實(shí)場(chǎng)景,并說明了本可以采取的不同做法。在書中,作者托馬斯·萊萊克和喬恩·斯基特分享了基于他們數(shù)十年軟件工程經(jīng)驗(yàn)的智慧,包括非常具有借鑒意義的錯(cuò)誤案例。每個(gè)案例都附有具體的提示和實(shí)用技術(shù),還提供了可能會(huì)改變你處理后續(xù)項(xiàng)目的常青模式。
通過閱讀本書,你將掌握:
如何系統(tǒng)地分析軟件;
如何選擇工具、庫(kù)和框架;
緊耦合和松耦合如何影響團(tuán)隊(duì)協(xié)作;
精確、易于實(shí)現(xiàn)和易于測(cè)試的需求。
本書適合負(fù)責(zé)軟件設(shè)計(jì)與實(shí)現(xiàn)決策的中高級(jí)開發(fā)人員和架構(gòu)師閱讀。

軟件開發(fā)中的決策 權(quán)衡與取舍 目錄

第 1 章 引言 1 1.1 決策的后果與模式 2 1.1.1 單元測(cè)試 2 1.1.2 單元測(cè)試與集成測(cè)試的比例 3 1.2 設(shè)計(jì)模式及其失效分析 5 1.3 架構(gòu)設(shè)計(jì)模式及其失效分析 10 1.3.1 可擴(kuò)展性與彈性 11 1.3.2 開發(fā)速度 12 1.3.3 微服務(wù)的復(fù)雜性 12 小結(jié) 14 第 2 章 代碼重復(fù)不一定是壞事:代碼重復(fù)與靈活性的權(quán)衡 15 2.1 代碼庫(kù)間的通用代碼及重復(fù)代碼 16 2.1.1 添加新需求導(dǎo)致的代碼重復(fù) 17 2.1.2 實(shí)現(xiàn)新的業(yè)務(wù)需求 17 2.1.3 結(jié)果評(píng)估 19 2.2 通過庫(kù)在代碼庫(kù)之間共享代碼 19 2.2.1 共享庫(kù)的取舍與不足 20 2.2.2 創(chuàng)建共享庫(kù) 21 2.3 抽取代碼為一個(gè)獨(dú)立的微服務(wù) 22 2.3.1 采用獨(dú)立微服務(wù)方式的取舍與弊端 24 2.3.2 關(guān)于獨(dú)立微服務(wù)的總結(jié) 27 2.4 通過代碼重復(fù)改善松耦合 28 2.5 利用繼承減少 API 設(shè)計(jì)中的重復(fù) 31 2.5.1 抽取出一個(gè)請(qǐng)求處理器作為基類 33 2.5.2 繼承與緊耦合的取舍 35 2.5.3 繼承與組合的取舍 36 2.5.4 一貫性的重復(fù)與偶然性的重復(fù) 37 小結(jié) 38 第 3 章 異常及其他——代碼錯(cuò)誤的處理模式 39 3.1 異常的層次結(jié)構(gòu) 40 4 3.2 代碼異常處理的*佳模式 44 3.2.1 公共 API 的已檢測(cè)異常處理 45 3.2.2 公共 API 的未檢測(cè)異常處理 46 3.3 異常處理的反模式 47 3.3.1 異常時(shí),關(guān)閉資源 49 3.3.2 反模式:利用異?刂茟(yīng)用流 51 3.4 源自第三方庫(kù)的異常 51 3.5 多線程環(huán)境中的異常 54 3.6 使用 Try 以函數(shù)式的途徑處理異常 59 3.6.1 在生產(chǎn)代碼中使用 Try 62 3.6.2 混合使用 Try 與拋出異常的代碼 64 3.7 異常處理策略的性能對(duì)比 65 小結(jié) 68 第 4 章 靈活性與復(fù)雜性的權(quán)衡 70 4.1 一個(gè)健壯但無法擴(kuò)展的API 71 4.1.1 設(shè)計(jì)一個(gè)新組件 71 4.1.2 從*簡(jiǎn)單的代碼開始 72 4.2 允許客戶使用自己的指標(biāo)框架 75 4.3 通過鉤子為你的 API提供可擴(kuò)展性 77 4.3.1 防范鉤子
展開全部

軟件開發(fā)中的決策 權(quán)衡與取舍 作者簡(jiǎn)介

托馬斯·萊萊克(Tomasz Lelek)托馬斯在他的軟件開發(fā)職業(yè)生涯里,設(shè)計(jì)并開發(fā)過各種各樣的生產(chǎn)服務(wù)、軟件架構(gòu),他精通多種編程語(yǔ)言(大多數(shù)是基于 JVM 的)。他既實(shí)現(xiàn)過單體系統(tǒng),也曾做過與微服務(wù)架構(gòu)相關(guān)的工作。他設(shè)計(jì)的有些系統(tǒng)可服務(wù)數(shù)千萬用戶,每秒處理數(shù)十萬的操作量。他的工作方向如下:? 設(shè)計(jì)采用 CQRS 架構(gòu)的微服務(wù)(基于 Apache Kafka);? 市場(chǎng)自動(dòng)化及事件流處理;? 基于 Apache Spark 和 Scala 的大數(shù)據(jù)處理。 托馬斯現(xiàn)在就職于 Dremio,負(fù)責(zé)創(chuàng)建現(xiàn)代大數(shù)據(jù)處理的數(shù)據(jù)湖解決方案。在此之前,他在DataStax 負(fù)責(zé)與 Cassandra 數(shù)據(jù)庫(kù)相關(guān)的一些產(chǎn)品。他設(shè)計(jì)的工具幫助成千上萬的開發(fā)者設(shè)計(jì)出性能優(yōu)異、用戶友好的 API,發(fā)揮了重要的作用。他為 Java-Driver、Cassandra Quarkus、Cassandra-Kafka Connector 以及 Stargate 都貢獻(xiàn)過代碼。 喬恩·斯基特(Jon Skeet)喬恩是谷歌公司的資深開發(fā)工程師,目前的工作方向是谷歌云的.NET 客戶端庫(kù)。他向開源社區(qū)貢獻(xiàn)了.NET 版本的 Noda 時(shí)間庫(kù),然而他最讓人稱道的是他在 Stack Overflow 開發(fā)者社區(qū)的貢獻(xiàn)。喬恩是 Manning 出版社出版的 C# in Depth 一書的作者,此外,他還對(duì) Groovy in Action 以及 Real-World Functional Programming 兩書有所貢獻(xiàn)。喬恩對(duì)日期時(shí)間 API 以及 API版本非常感興趣,這些通常是無人問津的冷門話題。

商品評(píng)論(0條)
暫無評(píng)論……
書友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服