原创 設計模式學習筆記一------觀察者模式

本文的結構如下: 什麼是觀察者模式 爲什麼要用該模式 模式的結構 代碼示例 推模型和拉模型 優點和缺點 適用環境 模式應用 總結 一、什麼是觀察者模式 觀察者模式定義了對象之間的一對多依賴,這樣一來,當一個對象改變狀態時,它的所有依賴者都

原创 設計模式學習筆記三------簡單工廠模式

設計原則: 要依賴抽象,不要依賴具體類 目錄 本文的結構如下: 什麼是簡單工廠模式 爲什麼要用該模式 模式的結構 代碼示例 優點和缺點 適用環境 模式應用 總結 一、前言 工廠模式是一個比較複雜的模式,可以分爲三類: 簡單工廠模式 工廠方

原创 設計模式學習筆記七------命令模式

目錄 本文的結構如下: 什麼是命令模式 爲什麼要用該模式 模式的結構 代碼示例 優點和缺點 適用環境 模式應用 總結 一、前言 在軟件設計中,經常需要向某些對象發送請求,但是並不知道請求的接收者是誰,也不知道被請求的操作是哪個,我們只需在

原创 設計模式學習筆記四------工廠方法模式

設計原則: 要依賴抽象,不要依賴具體類 目錄 本文的結構如下: 什麼是工廠方法模式 爲什麼要用該模式 模式的結構 代碼示例 優點和缺點 適用環境 模式應用 模式擴展 總結 一、前言 簡單工廠模式雖然簡單,但存在一個很嚴重的問題。當系統中需

原创 設計模式學習筆記五------抽象工廠模式

設計原則: 要依賴抽象,不要依賴具體類 目錄 本文的結構如下: 什麼是抽象工廠模式 爲什麼要用該模式 模式的結構 代碼示例 優點和缺點 適用環境 模式應用 模式擴展 總結 一、前言 工廠方法模式通過引入工廠等級結構,解決了簡單工廠模式中工

原创 設計模式學習筆記六------單例模式

目錄 本文的結構如下: 什麼是單例模式 爲什麼要用該模式 模式的結構 代碼示例 優點和缺點 適用環境 模式應用 總結 一、前言 對於系統中的某些類來說,只有一個實例很重要,例如,Windows任務管理器。通常情況下,無論我們啓動任務管理多

原创 MyBatis學習日記六------DataSource數據源篇之池型數據源

1 回顧   上一文中解讀了MyBatis中非池型數據源的源碼,非池型也就是隻擁有單一數據連接的數據源,他只管理着一個數據連接,這種數據源現在很少使用,一般都是用池型數據源,因爲單個連接的情況下,爲了保證操作的正確性,針對這個連接的使用要

原创 MyBatis學習日記五------DataSource數據源篇之非池型數據源

1 回顧   上一篇中我解說了數據源接口DataSource與數據源工廠接口DataSourceFactory,這二者是MyBatis數據源模塊的基礎,包括本文中的非池型非池型數據源(UnpooledDataSource)和之後的池型數據

原创 Java NIO學習筆記二------組件詳解篇

Channel Channel是什麼 Channel一般翻譯爲通道。Java NIO的通道類似流,但又有些不同:  既可以從通道中讀取數據,又可以寫數據到通道。但流的讀寫通常是單向的。  通道可以異步地讀寫。  通道中的數據總是要先讀到一

原创 Java NIO學習筆記三------Chanel的四種實現篇

FileChannel FileChannel是什麼 FileChannel是一個連接到文件的通道,可以通過文件通道讀寫文件。它無法設置爲非阻塞模式,總是運行在阻塞模式下。 打開FileChannel 我們可以通過使用一個InputStr

原创 Java NIO學習筆記一------初識篇

Java NIO是在jdk1.4開始使用的,它既可以說成新IO(New I/O),也可以說成非阻塞式I/O(Non-blocking IO)。 Java IO和NIO的主要區別 面向流與面向緩衝區  IO是面向流的。面向流意味着每次從流中

原创 Spring學習日記十三------MVC M與C的實現篇

MVC 處理 HTTP 分發請求         HandlerMapping 配置與設計         在初始化完成時,在上下文環境中已定義的所有 HandlerMapping 都已經被加載了,這些加載的 handlerMapping

原创 Spring學習日記十二------MVC模塊初始化篇

DispatcherServlet 的初始化         Spring MVC 是基於 Servlet 功能實現的,通過實現 Servlet 接口的 DispatcherServlet 來封裝其核心功能實現,通過將請求分派給處理程序,

原创 MyBatis學習日記三------Transaction事務模塊篇

1、回顧   之前介紹了Environment環境類,這其實是一個單例類,在MyBatis運行開啓後只會存在一個唯一的環境實例,雖然我們可以在Configuration配置文件中配置多個環境,但是項目運行中只會存在其中的一個,一般項目會存

原创 Spring學習日記十四------MVC 視圖呈現篇

DispatcherServlet 視圖設計         前面分析了 Spring MVC 中的 M(Model)和 C(Controller)相關的實現,其中的 M 大致對應 ModelAndView 的生成,而 C 大致對應 Di