Node.js 設計模式(第 2 版)

Node.js 設計模式(第 2 版)

《Node.js 設計模式(第 2 版)》是2018年由電子工業出版社出版的圖書。

基本介紹

  • 中文名:Node.js 設計模式(第 2 版)
  • 作者:【愛爾蘭】Mario Casciaro(馬里奧·卡西羅)/【義大利】Luciano Mammino(盧西安諾·馬米諾)
  • 譯者:馮康
  • 出版時間:2018年2月
  • 出版社:電子工業出版社
  • ISBN:9787121335228
  • 定價:108 元
  • 裝幀:平裝
內容簡介,圖書目錄,

內容簡介

《node.js設計模式(第2版)》通過大量示例形象地闡述了 Node.js 的哲學思想和設計模式。內容主要由六部分組成:Node 核心思想、基礎設計模式、異步控制流模式、流編程、Node.js 的傳統設計模式和特有設計模式、通用編程的 Web 套用以及處理複雜實際問題的高級編程技巧。
這是一本值得深入品讀的書籍,讀者若具備一些軟體設計的理論知識會有助於理解書中提出的概念,中級 Node.js 開發者也會從本書有所收穫。《node.js設計模式(第2版)》尤其適用於已經接觸過 Node.js 並且想在效率、設計質量和可擴展性方面獲得提升的開發者。

圖書目錄

第1 章歡迎來到Node.js 平台
Node.js 的哲學思想
小核心
小模組
小接觸面
簡單和實用
認識Node.js 6 和ES2015
let 和const 關鍵字
箭頭函式
類語法
增強的對象字面量
Map 和Set 集合
WeakMap 和WeakSet 集合
模板字面量
其他ES2015 特性
Reactor 模式
I/O 是緩慢的
阻塞I/O
非阻塞I/O
事件多路分解器
Reactor 模式簡介
Node.js-libuv 的非阻塞I/O 引擎
Node.js 的秘訣
總結
第2 章Node.js 基礎設計模式
回調模式
CPS(Continuation Passing Style)
同步或異步
Node.js 回調約定
模組系統及其模式
揭示模組模式
Node.js 模組解釋
模組定義模式
觀察者模式
EventEmitter 類
創建和使用EventEmitter
傳播錯誤
使任何對象可觀察
同步和異步事件
EventEmitter 與回調
組合回調和EventEmitter
總結
第3 章異步控制流模式之回調函式
異步編程的困難
創建一個簡單的網路蜘蛛
回調地獄
使用純JavaScript
回調規則
套用回調規則
順序執行
並行執行
有限制的並行執行
async 庫
順序執行
並行執行
有限制的並行執行
總結
xiv
第4 章異步控制流模式之ES2015+
promise
什麼是promise
Promises/A+ 實現
Node.js 風格函式的promise 化
順序執行
並行執行
有限制的並行執行
在公共API 中暴露callback 和promise
generator
generator 基礎
generator 的異步控制流
順序執行
並行執行
有限制的並行執行
使用Babel 的async await
安裝和運行Babel
比較
總結
第5 章流編程
流的重要性
緩衝和流
空間效率
時間效率
組合性
開始學習流
流的分類
可讀流
可寫流
雙向流(Duplex stream)
變換流
使用管道拼接流
使用流處理異步流程
順序執行
無序並行執行
無序有限制的並行執行
順序並行執行
xv
管道模式
組合流
複製流
合併流
復用和分解
總結
第6 章設計模式
工廠模式
創建對象的通用接口
一種封裝的機制
構建一個簡單的代碼分析器
可組合的工廠函式
擴展
揭示構造函式
唯讀事件觸發器
擴展
代理模式
實現代理模式的方法
不同方法的比較
創建日誌記錄的寫入流
生態系統中的代理模式――函式鉤子與面向行為編程(AOP)
ES2015 中的Proxy 對象
擴展
裝飾者模式(Decorator)
實現裝飾者模式的方法
裝飾一個LevelUP 資料庫
擴展
適配器模式(Adapter)
通過檔案系統API 來使用LevelUP 資料庫
擴展
策略模式(Strategy)
支持多種格式的配置對象
擴展
狀態模式
實現一個基本的自動防故障套接字
模板模式(Template)
配置管理器模板
xvi
擴展
中間件(Middleware)
Express 中的中間件
設計模式中的中間件
為?MQ 創建中間件框架
在Koa 中使用生成器的中間件
命令模式(Command)
靈活的設計模式
總結
第7 章連線模組
模組和依賴
Node.js 中最常見的依賴
內聚和耦合
有狀態的模組
連線模組模式
硬編碼依賴
依賴注入
服務定位器
依賴注入容器
連線外掛程式
外掛程式作為包
擴展點
外掛程式控制與應用程式控制的擴展
實現註銷外掛程式
總結
第8 章通用JavaScript 的Web 應用程式
與瀏覽器端共享代碼
共享模組
Webpack 簡介
Webpack 的魔力
Webpack 的優點
使用ES2015 和Webpack
跨平台開發基礎
運行時代碼分支
構建時代碼分支
模組交換
xvii
用於跨平台開發的設計模式
React 介紹
第一個React 組件
JSX 是什麼
配置Webpack 以實現JSX 轉換
在瀏覽器中渲染
React 路由庫
創建通用JavaScript 應用程式
創建可用的組件
服務端渲染
通用渲染和路由
通用數據檢索
總結
第9 章高級異步編程技巧
需要異步初始化的模組
規範解決方案
預初始化佇列
題外話
異步批處理和快取
實現沒有快取或批處理的伺服器
異步請求批處理
異步請求快取
使用promise 進行批處理和快取
運行CPU 綁定的任務
解決子集和問題
交叉使用setImmediate
使用多進程
總結
第10 章擴展與架構模式
應用程式擴展介紹
擴展Node.js 應用程式
可擴展性的三個維度
克隆和負載均衡
集群模組
處理有狀態通信
使用反向代理進行擴展
xviii
使用服務註冊表
對等負載均衡
分解複雜的應用程式
單體式架構
微服務架構
微服務架構中的集成模式
總結
第11 章訊息傳遞與集成模式
訊息系統的基礎
單向和請求/應答模式
訊息類型
異步訊息和佇列
對等或基於代理的訊息
發布/訂閱模式
構建簡約的實時聊天應用程式
使用Redis 作為訊息代理
使用?MQ 對等發布/訂閱
持久訂閱者
管道和任務分配模式
MQ 扇出/扇入模式
使用AMQP 實現管道和競爭消費者模式
請求/應答模式
關聯標識符
返回地址
總結

相關詞條

熱門詞條

聯絡我們