iT邦幫忙

鐵人檔案

第 11 屆 iThome 鐵人賽
回列表
Software Development

模組化設計 系列

這篇系列文章將分三大主軸,首先介紹模組化的基本概念跟相關 Pattern,第二個範疇是分析 Open Source 的模組設計,並打照自己的模組,最後會以怎麼管理模組與相關工具的使用介紹做結尾。

此篇幅是 Modern Web 2019 演講主題「初探 Javascript 模組化開發 」的延伸,當初礙於議程只有 40 分鐘,刪減了非常多內容,透過 IT 鐵人賽的機會,讓這些內容可以重現天日。

鐵人鍊成 | 共 30 篇文章 | 34 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day01 - 序

我會想寫這個主題的原因是希望透過 IT 邦幫忙鐵人賽,將當初因議程時間限制而刪減的內容有機會重現天日。 30 篇的文章會分成三大部分 理論基礎 模組與模組化...

2019-09-08 ‧ 由 alincode 分享
DAY 2

Day02 - 什麼是模組和模組化設計

這是系列文的第一篇,首先讓我們釐清相關的專有名詞開始。 模組 (module) 從維基百科上面的定義,我們可以條列出幾個重點: 模組是由數個「基礎功能元件」組...

2019-09-09 ‧ 由 alincode 分享
DAY 3

Day03 - 模組化原則:單一職責原則 (SRP)

單一職責原則 (Single responsibility principle) 簡稱 SRP,相信大家對它都不陌生,它時常出現在物件導向的書中,我最近一次看到...

2019-09-10 ‧ 由 alincode 分享
DAY 4

Day04 - 模組化原則:可替換性

在前面其實我們已經有提到,可替換性是模組很重要的特徵之一,我們延續上一篇的例子來觀察作者的設計思維,下面這段程式碼是一個最樸實的報表格式,當測試案例通過時,就印...

2019-09-11 ‧ 由 alincode 分享
DAY 5

Day05 - 模組化原則 - API 優先的設計導向

對一個模組而言,好的 API 設計是非常重要的,需要考慮到很多細節,例如: API 的一致性 當你公開 release 你的模組後,你就得考量向後相容的問題,你...

2019-09-12 ‧ 由 alincode 分享
DAY 6

Day06 - 常見的 JS 模組模式 (Pattern)

Javascript 並不像其他程式語言有內建命名空間 (namespace) 的概念,也沒有 private 和 public 語法,但你還是可以透過結構化的...

2019-09-13 ‧ 由 alincode 分享
DAY 7

Day07 - 與模組模式的第一次相遇

在我大學畢業後的第一份工作,被派駐到某新竹園區大廠工作時,那是我第一次與模組模式 (Module Pattern) 相遇,當我並不知道它有名字。 當時我們整個專...

2019-09-14 ‧ 由 alincode 分享
DAY 8

Day08 - ECMAScript 5 模組規範

ES5 跟 ES6 在模組規範上,採取不同的模式。 CommonJS (CJS) CJS 是採同步的,CJS 規範是為了在瀏覽器環境之外構建 JavaScri...

2019-09-15 ‧ 由 alincode 分享
DAY 9

Day09 - ECMAScript 6 模組規範

ESM 全名叫 EcmaScript Module,提供了更簡潔的的語法,支援靜態載入模組、有助於靜態檢查、效能優化等等。 目前處於 Plan for New...

2019-09-16 ‧ 由 alincode 分享
DAY 10

Day10 - Module Bundler

前面我們介紹了多種模組格式,那如果格式不同怎麼辦?這時候我們就可以使用,模組打包工具來幫我們轉換。 模組打包工具有非常多種選擇: Webpack https...

2019-09-17 ‧ 由 alincode 分享