-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

聊聊架構

( 簡體 字)
作者:王概凱類別:1. -> 程式設計 -> 綜合
譯者:
出版社:電子工業出版社聊聊架構 3dWoo書號: 48965
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:4/1/2017
頁數:248
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121311222
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:


在軟件行業,架構師和軟件工程師是非常辛苦的職業。一方面新技術層出不窮,另一方面業務需求也層出不窮,讓人疲于應付。導致的后果就是常常加班,生活質量低下。只有曾經身在其中的人,才能夠體會其中的酸甜苦辣。

在軟件行業經歷過這么多年,也看到了軟件行業普遍存在的一些問題,總覺得自己應該為這個行業貢獻一點點力量。不期望能夠改變這個行業,能夠引起一點點思考也是好的,如果能夠幫助提升一些軟件從業者的工作和生活質量,就超出期望值了。

把自己的想法寫出來的過程是痛苦的,從來沒有寫文字的習慣,也沒打算過寫書,因此愈發艱難。年初時基于以上同樣的想法,在 InfoQ 投稿寫了《架構漫談》專欄,和大家分享一下自己對軟件架構的思考,以為算是交差了。不料 InfoQ 的郭蕾多次和我約稿,希望我能夠把架構漫談擴展成一本書。拒絕了很多次,但是臉皮實在是薄,禁不住郭蕾三番五次的游說,狠狠心答應了下來。

把文字寫下來傳播出去,是要承擔很大的責任的,一旦說得不對,傷害的是一大片人。不愿寫東西的原因大部分在此。但是想想人非圣賢,總有犯錯的時候,把自己的錯誤暴露出來給大家,也是幫助大家學習。話雖如此,還是鄭重聲明,本書的內容都是個人的思考和個人的觀點,并非學術的結論,請各位讀者不要當作結論全盤接受。反而讀者應該質疑書中的各種觀點,盡量自行思考,如此才會有所收獲。本書的目的也僅僅是為了引發大家的思考。

思及自身水平有限,文字功底也差,難免傷人慧命,深感慚愧和惶恐!望各位讀者,鑒其愚誠,不吝慈悲指正!


王概凱 Kevin








前言
現代的軟件從業者,都受過良好的計算機和軟件方面的教育。但是現代的計算機和軟件方面的教育,基本上都是從科學研究領域脫胎出來的,教育的目的也理所當然的主要是為科學研究領域服務。而隨著社會的發展,軟件不斷地滲透到不同的業務領域,涉及到普通人生活的方方面面。以科學研究為目的的軟件教育,和日益深入人們生活的軟件應用,產生了很大的隔閡。以致于很多計算機和軟件專業畢業的學生,進入企業工作后,總是感嘆學校所學習的知識派不上用場,必須得重新學起,才能夠達到企業的要求。

而這些重新學習的內容,又往往是以技術為主的。技術的更新換代太快,往往也導致想跟上新技術的我們力不從心。技術和業務的關系是如何的?業務又是怎么運作的?很少有人去問這些問題。即使有人問了,也很難有人可以提供建議。

軟件技術學習到一定的地步,又會發現軟件架構是一個門檻。一直以來,在軟件行業,對于什么是架構有很多的爭論,每個人都有自己的理解。甚至于很多架構師一說架構,就開始談論應用架構、硬件架構、數據架構等。而事實上,架構在軟件發明時的很多年以前就已經存在了。眾說紛紜,莫衷一是,這也給大家帶來了很多困擾。

業務和架構,是壓在軟件從業人員身上的兩座大山。而軟件從業人員手上卻只有一個武器:技術。可是這個武器還時靈時不靈,就好像金庸小說《天龍八部》中段譽的六脈神劍,并不總是能夠解決問題,有時還會帶來麻煩。

軟件并不是虛無縹緲的東西,它和現實生活是緊密相關的。業務和架構都是處理人的問題。而技術人員最討厭處理的就是人的問題,心里面厭惡,但卻又無法逃避。因為這個排斥的心理,工作中始終想避開和人有關系的地方。因此在技術之前,還需要做一些準備工作,用來連接現實生活,聯系上人,讓大家知道處理人的問題并不可怕。建立了這個相關性,每個人就都可以自行思考了。

不僅人類受限于自身的生命周期,凡事都有其生命周期。理解了生命周期,就可以看到很多隱藏在背后的規律,以及這些規律之間的聯系。因此,本書試圖從生命周期入手,描繪出一張整體的畫卷,幫助包括技術人員在內的大家定位自己處于什么地方,自己在起什么作用,別人又在什么地方,他們又在起什么作用。

明白了自己的位置和別人的位置,自然也就清楚自己有什么,缺什么,要往哪個地方走,從哪些地方入手了。所謂“知己知彼,百戰百勝”,知道這些后中,面對人打交道時也就有了自己的思考方式,能夠進行獨立思考,對業務也不再厭惡以致于逃避,而是為能幫助業務人員分析及解決問題而自豪。

本書雖然不是技術書籍,不談技術,但卻是以幫助技術人員為出發點。本書的內容可以作為連接技術人員和現實世界的橋梁,用來使技術人員不再懸在空中使不出力。對于非技術人員而言,本書可以幫助其理解軟件開發的特殊性,拉近與技術人員的距離,能夠更有針對性地與技術人員合作。

當然,讀完本書不會使讀者突然學會神功,打通任督二脈。因為每個人的成長,最終還是要靠自己的思考和實踐。本書的思考也不能夠代替讀者自己的思考,在解決某個業務問題時也無法從書中直接找到答案。本書可以提供給大家的是一個思考的出發點,一個思考的方向,一個思考的角度,使得大家不再懼怕或排斥業務,并可以像業務人員一樣思考,和架構師一樣思考,不再受困于業務和架構,甚至是技術本身。如果本書能夠幫助大家跨過這個門檻,并從這里開始展開思考,那么目的就達到了。
內容簡介:

架構是如何運作并影響人們的日常生活的,在軟件行業中架構是如何運作的?架構又是如何指導代碼編寫的,如何把架構應用在軟件工程實踐上?帶著這些疑問,本書通過大量的實例一步一步揭示出架構背后的原理,以及架構在軟件行業的發展,并通過企業實例來展示軟件架構的實際應用。本書沒有高深的詞匯,不僅適合IT從業人員閱讀,也適合其他行業的人士閱讀。尤其對于想從事架構工作的人而言,是一本不可多得的參考材料。

目錄:

第一部分 認識架構
第 1 章 生命周期
1.1 生命周期的識別
1.2 核心與非核心生命周期
1.3 生命周期與分工
第 2 章 時間
第 3 章 為什么會產生架構
3.1 分工
3.2 分工和生命周期
第 4 章 什么是架構
4.1 架構產生的條件
4.2 什么是架構
4.3 架構的生命周期
第 5 章 架構和樹
5.1 樹與增長
5.2 架構和樹
第 6 章 概念
6.1 何為名相
6.2 究竟什么才是相
6.3 概念是溝通的基礎
6.4 把握概念的力量
聊聊架構
第 7 章 什么是抽象
7.1 個性與共性
7.2 個性是基礎
第 8 章 識別問題
8.1 面對問題有哪些困難
8.2 如何識別問題
8.3 尋找問題主體
第 9 章 切分的原則
9.1 切分就是利益的調整
9.2 為什么需要切分
9.3 切分的原則
9.4 樹和分層
9.5 切分與建模
9.6 切分的輸出和組織架構
第 10 章 架構與流程
10.1 什么是流程
10.2 流程和架構拆分的關系
第 11 章 什么是架構師
11.1 架構師做什么
11.2 架構師也是人
11.3 人人都是架構師
11.4 架構師和權利
第二部分 軟件架構
第 12 章 什么是軟件
12.1 以模擬人為目標的馮諾依曼結構和圖靈機
12.2 成本為王
12.3 天空才是極限
12.4 軟件的作用
目錄
IX
第 13 章 軟件的生命周期
13.1 軟件的開發生命周期
13.2 軟件開發的增長
13.3 軟件開發的迭代
13.4 軟件的運行生命周期
第 14 章 什么是軟件架構
14.1 要解決什么問題
14.2 分別是誰的問題呢
14.3 分別有什么問題
14.4 分析問題
14.5 會生成哪些架構
14.6 什么是軟件架構
第 15 章 什么是軟件架構師
15.1 軟件架構師的區別
15.2 軟件架構師的困境
15.3 生命周期的思考
15.4 軟件架構師的權力
15.5 軟件架構師和技術人員對技術的態度區別
15.6 架構師是技術的使用者
15.7 如何保障架構落地
第 16 章 業務、架構和技術三者的關系
16.1 什么是技術
16.2 業務和架構及技術之間的關系
16.3 技術人員和業務人員的關系
16.4 重新發明輪子
16.5 開源技術
第 17 章 軟件研發
17.1 軟件工程師的興起和使命
17.2 分工的困境
17.3 軟件的迭代
17.4 軟件開發的分工
聊聊架構
X
17.5 軟件開發模式和架構
17.6 軟件工程師的支持者
第 18 章 軟件的架構拆分
18.1 軟件拆分的原動力
18.2 軟件開發團隊的拆分
18.3 軟件的拆分
18.4 軟件開發的基礎技術
18.5 軟件拆分的第二動力
18.6 架構一步到位
第 19 章 如何寫好代碼
19.1 什么叫業務邏輯
19.2 業務邏輯分散的危害
19.3 業務邏輯內聚的好處
19.4 代碼架構實例
19.5 代碼誤解
19.6 軟件的拆分
第 20 章 單元測試
20.1 什么是單元測試
20.2 單元測試的困境
20.3 單元測試測什么
20.4 如何改造代碼
20.5 為什么要做單元測試
20.6 如何做單元測試
第 21 章 軟件架構和面向對象
21.1 什么是面向過程
21.2 什么是面向對象
21.3 生命周期和面向對象及面向過程
21.4 架構和面向對象及面向過程
21.5 面向對象的誤區
21.6 對象和生命
目錄
XI
第 22 章 軟件架構與設計模式
22.1 模式以及模式的意義
22.2 什么是設計模式
22.3 軟件設計模式
22.4 設計模式和架構
22.5 設計模式的誤區
第 23 章 軟件架構和軟件框架
23.1 訪問類框架
23.2 業務類框架
23.3 什么是框架
23.4 框架的特點
第 24 章 軟件運維
24.1 軟件運行生命周期
24.2 什么是軟件運維
24.3 運維的業務模型
24.4 控制變化
24.5 監控變更
24.6 預警變更
24.7 主導變更
24.8 提升變更質量
24.9 運維的架構拆分
第 25 章 軟件訪問生命周期
25.1 軟件訪問的業務模型
25.2 軟件訪問路徑的架構拆分
25.3 大規模軟件訪問的架構拆分
25.4 集群
25.5 數據中心
第 26 章 軟件架構和大數據
26.1 什么是大數據
26.2 如何做好大數據
26.3 軟件大數據
聊聊架構
XII
第 27 章 軟件架構和建筑架構
27.1 軟件架構和建筑架構的目標之異同
27.2 軟件和建筑的架構擴展之異同
第三部分 軟件架構的應用
第 28 章 交易
28.1 什么是交易
28.2 貨幣的出現
28.3 企業的實質
28.4 軟件對交易的影響
28.5 軟件的交易
28.6 企業的核心
第 29 章 產品
29.1 什么是產品
29.2 什么是商品
29.3 識別產品
29.4 產品系統
29.5 產品列表
29.6 產品詳情
29.7 商品的規則
第 30 章 用戶
30.1 什么是用戶
30.2 為什么需要用戶
30.3 客戶的出現
30.4 用戶的生命周期
30.5 用戶的識別
第 31 章 訂單
31.1 什么是訂單
31.2 訂單的生命周期架構拆分
31.3 訂單支付
31.4 訂單生命周期
第 32 章 交易系統
32.1 企業的架構拆分
32.2 軟件系統的建模
32.3 訪問業務模型
32.4 交易軟件系統的架構拆分
32.5 服務的產生和粒度
32.6 用戶系統的拆分
第 33 章 事務
33.1 什么是事務
33.2 軟件中的事務
33.3 數據庫事務的濫用
33.4 數據庫的正確使用方式
33.5 服務調用
序: