官术网_书友最值得收藏!

前言

設(shè)計(jì)模式的概念最早是由克里斯托弗·亞歷山大在其所著的《建筑模式語(yǔ)言》中提出的。該書(shū)介紹了城市設(shè)計(jì)的“語(yǔ)言”,提供了253個(gè)描述城鎮(zhèn)、鄰里、住宅、花園、房間及西部構(gòu)造的模式,而此類“語(yǔ)言”的基本單元就是模式。后來(lái),埃里克·伽瑪、約翰·威利斯迪斯、拉爾夫·約翰遜和理查德·赫爾姆四位作者接受了設(shè)計(jì)模式的概念。1994年,他們出版了《設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》一書(shū),將設(shè)計(jì)模式的概念應(yīng)用到程序開(kāi)發(fā)領(lǐng)域中。

可以看出,設(shè)計(jì)模式本身是一種通用場(chǎng)景的解決標(biāo)準(zhǔn)和方案,而不是實(shí)際場(chǎng)景開(kāi)發(fā)落地的指導(dǎo)手冊(cè)。這種通用的解決標(biāo)準(zhǔn)和方案是研發(fā)人員在大量的項(xiàng)目中驗(yàn)證和提煉的結(jié)果,如果只是學(xué)習(xí)理論知識(shí),沒(méi)有經(jīng)歷過(guò)大型的項(xiàng)目開(kāi)發(fā),則很難理解和使用設(shè)計(jì)模式。

為什么寫(xiě)作本書(shū)

很多研發(fā)人員了解過(guò)設(shè)計(jì)模式,但在實(shí)際的業(yè)務(wù)開(kāi)發(fā)中卻很少使用。甚至使用了大量的if…else實(shí)現(xiàn)業(yè)務(wù)流程,對(duì)于一次次的需求迭代和邏輯補(bǔ)充,靠東拼西湊疲于應(yīng)付。如何掌握和使用設(shè)計(jì)模式的思想和架構(gòu)思維,并行之有效地運(yùn)用到業(yè)務(wù)場(chǎng)景中,具有現(xiàn)實(shí)意義。為了讓更多的研發(fā)人員不僅能掌握設(shè)計(jì)模式的概念,而且可以將設(shè)計(jì)模式運(yùn)用到實(shí)際開(kāi)發(fā)中,特撰寫(xiě)此書(shū)。

本書(shū)主要內(nèi)容

本書(shū)通過(guò)從互聯(lián)網(wǎng)實(shí)際的業(yè)務(wù)開(kāi)發(fā)中遴選出大量的真實(shí)案例場(chǎng)景,包括交易、營(yíng)銷、秒殺等,并結(jié)合規(guī)則引擎、中間件、框架源碼和 RPC 設(shè)計(jì)等技術(shù)點(diǎn)介紹設(shè)計(jì)模式,幫助開(kāi)發(fā)人員在實(shí)際的業(yè)務(wù)中靈活運(yùn)用設(shè)計(jì)模式。

本書(shū)共28章,主要內(nèi)容如下:

·第1~3章,介紹設(shè)計(jì)模式的原則及落地方法,讓讀者在學(xué)習(xí)之前對(duì)設(shè)計(jì)模式有整體的認(rèn)識(shí)。

·第4~25 章,分別通過(guò)場(chǎng)景案例講解設(shè)計(jì)模式的使用方法,包括多種獎(jiǎng)品服務(wù)工廠、在線試卷題目混排、MQ消息體字段適配、多支付渠道場(chǎng)景橋接、差異化規(guī)則引擎組合、ORM中間件設(shè)計(jì)等。

·第26~28章,擴(kuò)展知識(shí),介紹領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)四層架構(gòu)、RPC中間件設(shè)計(jì)開(kāi)發(fā)和分布式領(lǐng)域驅(qū)動(dòng)架構(gòu)設(shè)計(jì),幫助讀者對(duì)設(shè)計(jì)模式和架構(gòu)設(shè)計(jì)有整體的認(rèn)識(shí)。

如何閱讀本書(shū)

本書(shū)是一本偏動(dòng)手實(shí)戰(zhàn)的技術(shù)圖書(shū),主要介紹設(shè)計(jì)模式解決方案的具體落地方法。本書(shū)的每一章都會(huì)重點(diǎn)突出與該章主題相關(guān)的設(shè)計(jì)模式。同時(shí),由于每一種設(shè)計(jì)模式都不是孤立存在的,需要結(jié)合使用,所以應(yīng)在具體的項(xiàng)目場(chǎng)景中靈活運(yùn)用。在閱讀的過(guò)程中,讀者不僅要仔細(xì)閱讀每一章的文字及案例場(chǎng)景設(shè)計(jì),同時(shí)更要多閱讀代碼,或者自己編寫(xiě)代碼。

代碼運(yùn)行環(huán)境

·JDK v1.8及以上。

·Maven v3.0及以上。

·IDEA版本:IntelliJ IDEA 2018、2019、2020。

·其他版本:Spring、SpringBoot、MyBatis等已經(jīng)配置到POM文件中。

源碼使用方法

本書(shū)配套源碼的 GitHub地址為 https://github.com/fuzhengwei/CodeDesign。此源碼會(huì)不斷接受反饋并更新。Gitee地址為https://gitee.com/fustack/CodeDesign。

·每一章涉及的代碼工程結(jié)構(gòu)與源碼部分都有相應(yīng)的名稱。例如,cn-bustack-design-7-01,7-01表示第7章第1個(gè)案例的源碼。

·源碼中的標(biāo)號(hào)的第一個(gè)數(shù)字代表章節(jié)。例如,4.0-0、4.0-1、4.0-2表示第4章的多個(gè)源碼,在構(gòu)建過(guò)程中需要注意,它們之間會(huì)有引用關(guān)系。

·第28章因?yàn)樯婕暗墓こ虄?nèi)容是獨(dú)立的,所以單獨(dú)提供了一個(gè)壓縮包,需要解壓縮后再使用IDEA打開(kāi)。

致謝

首先要特別感謝我的父母(付井海、徐文杰)、妻子(郭維清),是你們?cè)谄匠5纳钪蟹謸?dān)了更多,才讓我有更多的時(shí)間投入文字創(chuàng)作中,使得這本書(shū)與廣大讀者見(jiàn)面。

在電子工業(yè)出版社博文視點(diǎn)的宋亞?wèn)|編輯的熱情推動(dòng)下,促成了我與電子工業(yè)出版社的合作。感謝電子工業(yè)出版社博文視點(diǎn)對(duì)本書(shū)的重視,以及為本書(shū)出版所做的一切。

由于作者水平有限,書(shū)中不足之處在所難免,敬請(qǐng)專家和讀者給予批評(píng)指正。

付政委(小傅哥)

讀者服務(wù)

微信掃碼回復(fù):40938

獲取本書(shū)配套源碼資源。

·獲取各種共享文檔、線上直播、技術(shù)分享等免費(fèi)資源。

·加入本書(shū)讀者交流群,與更多讀者互動(dòng)。

·獲取博文視點(diǎn)學(xué)院在線課程、電子書(shū)20元代金券。

主站蜘蛛池模板: 米泉市| 兴化市| 东丽区| 卢龙县| 蓝山县| 青浦区| 绥江县| 盐山县| 北安市| 浮梁县| 顺义区| 鹿泉市| 寻甸| 岑巩县| 兴仁县| 张家川| 青神县| 吴旗县| 碌曲县| 天柱县| 周口市| 抚远县| 彩票| 聂拉木县| 类乌齐县| 溆浦县| 盐城市| 镇康县| 合作市| 尉氏县| 务川| 昆山市| 宝兴县| 绥芬河市| 徐闻县| 永靖县| 宁城县| 铁力市| 栖霞市| 策勒县| 宝清县|