自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

優(yōu)美的系統(tǒng)與架構(gòu)師的藝術(shù)氣質(zhì)

原創(chuàng)
開發(fā) 架構(gòu)
系統(tǒng)應(yīng)當(dāng)是優(yōu)美的,而這優(yōu)美體現(xiàn)在系統(tǒng)的伸縮性、安全性、可維護(hù)性、可靠性和可移植性等健康因素。如果沒有對(duì)藝術(shù)的追求,那么架構(gòu)師則往往會(huì)被商業(yè)需求迷住眼睛,放任系統(tǒng)被濫用而落入不健康的悲哀。因此,好的架構(gòu)師需要有藝術(shù)氣質(zhì),有對(duì)系統(tǒng)之美的追求。

【51CTO獨(dú)家特稿】“系統(tǒng)是一個(gè)個(gè)有機(jī)的生命。跟企業(yè)一樣,系統(tǒng)也需要施肥澆水,需要健康的成長(zhǎng)。與企業(yè)一樣,一個(gè)系統(tǒng)可能會(huì)在短期內(nèi)被濫用(比如在需要短期內(nèi)快速盈利的驅(qū)使下),不過如果濫用的時(shí)間過長(zhǎng),系統(tǒng)最終將會(huì)無法支持。與CEO一樣,一個(gè)架構(gòu)師對(duì)系統(tǒng)的這個(gè)特性了如指掌。他們能夠識(shí)別什么是濫用,系統(tǒng)能夠承受的限度,并將系統(tǒng)引回到健康的道路上。”

51CTO開發(fā)頻道年終巨獻(xiàn):架構(gòu)師最怕程序員知道的十件事

上面是一段架構(gòu)師對(duì)于構(gòu)建優(yōu)美系統(tǒng)的描述。這段話的主人說,“架構(gòu)師是使用代碼作畫的大師。”——在他看來,架構(gòu)師最大的價(jià)值在于藝術(shù)。這并非是Fred George自家的看法,高級(jí)架構(gòu)師王翔先生也表示“好的A(編者注:A即Architect,架構(gòu)師的簡(jiǎn)稱)需要有些藝術(shù)氣質(zhì)”。

什么是優(yōu)美的系統(tǒng)?

商業(yè)軟件項(xiàng)目的首要目標(biāo)是實(shí)現(xiàn)來自客戶或公司的商業(yè)需求。然而,在架構(gòu)過程中僅僅考慮到實(shí)現(xiàn)商業(yè)需求而建立的系統(tǒng)往往缺乏伸縮性、安全性、可維護(hù)性、可靠性、可移植性等等,導(dǎo)致其在短短數(shù)年內(nèi)便因無法與時(shí)俱進(jìn)而被拋棄。這一點(diǎn)幾乎每一位維護(hù)過項(xiàng)目的程序員應(yīng)該都能夠體會(huì)到:面對(duì)著缺乏文檔、不知所云的代碼,想要修改或添加一個(gè)功能卻無從下手。

而一個(gè)優(yōu)美的系統(tǒng)則是可以像有機(jī)的生命一樣成長(zhǎng)的,這是因?yàn)閺南到y(tǒng)開始架構(gòu)的那一刻起,架構(gòu)師就考慮到這個(gè)系統(tǒng)以后將會(huì)面臨的挑戰(zhàn),為系統(tǒng)的成長(zhǎng)預(yù)留好空間。項(xiàng)目經(jīng)理經(jīng)常會(huì)對(duì)這位架構(gòu)師提出的看似理想化的要求不置可否——項(xiàng)目經(jīng)理只想著能夠盡快以比較低的成本實(shí)現(xiàn)客戶的需求,然而這些充滿藝術(shù)美感的想法其實(shí)是打造健康——因而優(yōu)美——的系統(tǒng)的根本因素。

架構(gòu)師的藝術(shù)氣質(zhì)使其站在了與項(xiàng)目經(jīng)理不同的立場(chǎng)上:項(xiàng)目經(jīng)理從商業(yè)需求的方向考慮,而架構(gòu)師則從系統(tǒng)本身的方向考慮。在商業(yè)氣息很濃的項(xiàng)目中這會(huì)引發(fā)一些沖突,這也是為什么最出色的系統(tǒng)往往出自學(xué)院,而商業(yè)項(xiàng)目中的架構(gòu)師必須具備權(quán)衡取舍及妥協(xié)能力的原因(參考架構(gòu)師十大技能之權(quán)衡取舍篇)。

藝術(shù)氣質(zhì)的另一體現(xiàn)就是對(duì)簡(jiǎn)約的追求,這在Google或Apple的大部分產(chǎn)品上有很好的體現(xiàn)??雌饋硎莾苫厥拢贿^系統(tǒng)的簡(jiǎn)約與系統(tǒng)的健康往往是相輔相成的。

架構(gòu)師的藝術(shù)氣質(zhì)

在軟件開發(fā)產(chǎn)業(yè)發(fā)展的過程中逐漸建立起了一些行業(yè)準(zhǔn)則和參考標(biāo)準(zhǔn),這些將有助于架構(gòu)師在面對(duì)復(fù)雜需求時(shí)仍然能夠保持清晰地頭腦來思考問題。學(xué)習(xí)前人總結(jié)的軟件與架構(gòu)方面的知識(shí),遵循既定的指導(dǎo)標(biāo)準(zhǔn)——比如,按照模版編寫軟件架構(gòu)文檔——看似死板,卻是必要的修煉。這些架構(gòu)師的基本功是全面的、抽象的、深層次的。沒有這些基礎(chǔ),那么架構(gòu)師連實(shí)現(xiàn)商業(yè)需求都會(huì)感到吃力,更不要說去顧及需求之外的東西。另外我們提到過架構(gòu)師需要有前瞻性:超前的眼光是架構(gòu)師實(shí)現(xiàn)其藝術(shù)追求的彈藥。

閱讀公開的軟件架構(gòu)文檔(Software Architecture Document)是一個(gè)很好的學(xué)習(xí)途徑(在Google上能夠找到很多)。軟件架構(gòu)文檔是架構(gòu)師在項(xiàng)目早期階段對(duì)于系統(tǒng)的一個(gè)描述性概覽,這份文檔提供了這個(gè)系統(tǒng)預(yù)計(jì)實(shí)現(xiàn)功能的概述,這個(gè)系統(tǒng)將會(huì)使用什么技術(shù)以及可能存在的技術(shù)局限,以及最重要的部分:視圖模型。

[[7872]] 

視圖模型是業(yè)內(nèi)在20世紀(jì)90年代開始逐步建立起來的一套規(guī)范(IEEE 1471),不同的視圖從不同的角度對(duì)系統(tǒng)的不同方面進(jìn)行關(guān)注。之前所提到的項(xiàng)目經(jīng)理注重商業(yè)需求而架構(gòu)師注重系統(tǒng)健康的矛盾,其實(shí)在這個(gè)視圖模型中都有相應(yīng)的描述,為架構(gòu)師開展思路提供了很好的指引。過去的十多年間出現(xiàn)了很多指引性的視圖以及框架,一些常見的包括:

用例視圖(Use-Case View):這是業(yè)務(wù)需求的角度。

邏輯視圖(Logical View):這是功能實(shí)現(xiàn)的角度,用例執(zhí)行的流程圖。

上面兩個(gè)視圖是必需的,也往往是項(xiàng)目經(jīng)理最關(guān)注的部分。如果只考慮這兩個(gè)角度,系統(tǒng)可以被建立,但正如之前所描述的那樣,是不可能優(yōu)美的。架構(gòu)師還需要視情況考慮下面這些視圖:

進(jìn)程視圖(Process View):如果系統(tǒng)是多線程的,高并發(fā)的,則需要考慮線程的角度。

部署視圖(Deployment View):如果系統(tǒng)分布在多節(jié)點(diǎn),則需要考慮服務(wù)器端和客戶端節(jié)點(diǎn)等硬件映射的角度。

數(shù)據(jù)視圖(Data View):如果持久層在系統(tǒng)中很重要,則需要考慮數(shù)據(jù)的角度。

#T#還有很多其他的視圖,在這里就不一一列舉了。這些視圖都是從系統(tǒng)的角度來看問題。有些視圖框架有一定通用性,比如業(yè)內(nèi)廣為流傳的4+1模型、RM-ODP模型等等;但是對(duì)于每一個(gè)系統(tǒng)需要考慮哪些視圖,則需要架構(gòu)師去摸索、去感覺、去研究;況且現(xiàn)在新技術(shù)層出不窮,一個(gè)比較前沿的項(xiàng)目需要從前人沒有考慮過的角度看問題也不是沒有可能。如果架構(gòu)師沒有一定的藝術(shù)氣質(zhì)來指引方向,那么一味的照搬現(xiàn)有的模式可能會(huì)水土不服而使系統(tǒng)變得臃腫復(fù)雜,而完全不考慮商業(yè)需求之外的因素則會(huì)讓系統(tǒng)先天不足而夭折。

不過正如之前所提到的,如果沒有扎實(shí)的技術(shù)基礎(chǔ),如果架構(gòu)師缺乏全局觀、抽象思維能力以及透過問題看本質(zhì)的能力,那么他僅僅為了實(shí)現(xiàn)客戶需求都會(huì)感到力不從心,更不用說發(fā)揮自己的藝術(shù)氣質(zhì)云云了。

從另一個(gè)角度來講,做藝術(shù)的架構(gòu)師們也都是行業(yè)里大師級(jí)別的人物了,這也是架構(gòu)師們的終極目標(biāo)吧!

本文為《架構(gòu)師害怕程序員知道的十項(xiàng)技能》中的藝術(shù)氣質(zhì)篇。

責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2013-10-29 11:04:10

惠普超級(jí)惠省打印

2012-04-27 09:38:05

jQuery UI

2012-03-26 20:10:58

去哪兒架構(gòu)師藝術(shù)家

2022-08-23 14:13:36

LaTeX標(biāo)記語言

2020-06-28 14:15:52

前端架構(gòu)師互聯(lián)網(wǎng)

2023-04-26 00:00:01

ChatGPT文化語言

2020-08-24 08:50:12

架構(gòu)師TL技術(shù)

2009-12-18 10:22:50

Ray Ozzie架構(gòu)師

2012-08-04 16:02:00

架構(gòu)師

2011-10-26 09:43:13

系統(tǒng)架構(gòu)師

2011-10-25 08:59:28

系統(tǒng)架構(gòu)師

2021-01-29 09:18:09

技術(shù)研發(fā)架構(gòu)

2022-04-28 13:08:51

架構(gòu)師軟件

2016-01-12 09:56:51

優(yōu)美C代碼

2012-06-20 09:14:07

系統(tǒng)架構(gòu)運(yùn)維

2017-04-16 00:26:34

融云直播互動(dòng)系統(tǒng)

2015-11-04 09:58:17

OpenStack云架構(gòu)師開源技術(shù)

2018-07-04 13:41:17

架構(gòu)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫

2022-11-02 09:53:54

架構(gòu)核酸

2019-07-04 10:17:52

操作日志系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)