回覆列表
-
1 # 跨界架構師
-
2 # 益智之家
一,首先你得是一名合格的碼農,至少有一到兩年的程式碼編寫經歷。構架是要解決實際業務需求的,你編寫程式碼的經歷都不夠,你就不能遇到足夠的實際開發問題,經驗也就積累不夠,構架也就建立不起來。
二,你要懂得設計模式。設計模式大致有23種,如單例模式、觀察者模式等等,這些,是構架的基本工具,合理使用這些模式,你才能設計出優秀的構架。
三,要有一定的管理經驗。構架是用於團隊協作的,不可能一個人完成所有工作,所以,構架的過程,也需要考慮任務分配問題和程式碼安全問題。如果你帶過隊,你就會在構架過程中儘量避免一些不必要的問題。
你先完成第一步,並慢慢完成第二步。等你的能力增強後你會有機會做管理和帶隊,後面的事就可以實現了。
目前主流的技術棧劃分一般是:前端和後端,Android其實歸屬於前端範疇。雖然“架構”本身不分語言,本質上是相同的,但是前端和後端的“架構”在表現形式上還是有所區別的。在學習之前搞清楚這些能夠讓學習的道路更有條理。
一、先聊聊架構師做 的“架構”工作本質上是什麼?架構工作的本質是抽象設計,怎麼去抽象,怎麼去設計。前者靠的是分析能力,能否儘可能多的將不確定性識別出來,變成確定性的東西。後者靠的是規劃能力,規劃不是指整出個完美的、高大上的框架,而是適合當前環境的框架。這裡的適合就是儘可能的平衡好時間、人、錢這三要素。
以上就是架構的本質,也就是通用的部分,不管是前端還是後端都適用。想更詳細的瞭解,可以翻閱我的個人釋出的文章《從架構設計到架構師》。
二、再聊聊前端架構做什麼?為什麼說前端和後端架構做的事情不同,是因為它們處在不同的層次,解決的是不同角度的問題。比如說:橫向擴充套件,在後端非常重要,但是在前端基本就不用考慮這個問題。
前端是直接和使用者接觸的,對使用者來說最重要的就是用的爽。那麼前端架構師的工作主線也很清楚了,如何讓使用者用的爽。用的爽,我認為拋開功能設計本身,其實就是一個字“快”,這個即是指操作流暢的“快”,還是指市場部門的一個想法能夠儘可能“快”的呈現到使用者面前。
然後可以發現,前端架構師的招聘需求中提到的技術層面的東西,都是圍繞“快”展開的,混合開發、模組化元件化等等無不如此。
三、作為Android程式設計師的切入點建議首先在自己熟悉的Android領域內運用技術手段讓專案更“快”,要扎的足夠深,不斷的去想有沒有更“快”的方式。這步關鍵就是多想、敢於推翻重構,這樣能逐漸積累起做前端架構師的硬實力。切勿停留在“看知識”的層面,不管看到什麼,多想一下自己怎麼去運用它,有沒有作用。然後衍生到“大前端”範圍去做解決方案,進一步提高對IOS、H5甚至是小程式的掌握程度,繼續提升硬實力。
另外軟實力,也是更重要的一點,需要同步持續訓練自己對架構本質的認識。因為思想還是要結合實際才能體會其深層次的意義。結合實際的方式除了前面提到的親自實踐,還可以透過觀察實際發生過的事情細節,加上深度思考,去嘗試直接套用他人的思想到你的場景中,二次加工,形成你自己的思想。
--------------------------
內容包括:架構設計丨分散式系統丨產品丨運營丨個人深度思考。