工廠(chǎng)設計模式是所有設計模式中最簡(jiǎn)單的設計模式?。。。ň褪峭ㄟ^(guò)工廠(chǎng)來(lái)創(chuàng )建一些對象)
工廠(chǎng)模式的典型應用場(chǎng)景:創(chuàng )建對象(當我們感覺(jué)到創(chuàng )建對象是件很痛苦的事,會(huì )用工廠(chǎng)模式)
工廠(chǎng)模式:簡(jiǎn)單工廠(chǎng),工廠(chǎng)方法,抽象工廠(chǎng)(要支持創(chuàng )建多個(gè)產(chǎn)品,定義一個(gè)抽象工廠(chǎng),抽象工廠(chǎng)中有多個(gè)工廠(chǎng)方法,可以創(chuàng )建多個(gè)產(chǎn)品)
工廠(chǎng)方法:



抽象工廠(chǎng):利用工廠(chǎng)方法實(shí)現抽象工廠(chǎng)



為了避免直接在servlet中看到操作數據庫的代碼(直接在servlet中通過(guò)JDBC訪(fǎng)問(wèn)數據庫),并且由于數據庫的不同,操作代碼也不同,譬如分頁(yè)查詢(xún)的sql語(yǔ)句,mysql的可以:select * from t_article where title like '%"+title+"%' limit ?,?,而在oracle中是不可以用limit的。
實(shí)現方法為:創(chuàng )建一個(gè)接口ArticleDao

然后創(chuàng )建兩個(gè)實(shí)現了ArticleDao接口的類(lèi):ArticleDaoImpl(具體實(shí)現了操作MySQL數據庫的類(lèi))和ArticleDaoImplForOracle(具體實(shí)現了操作Oracle數據庫的類(lèi))。
HashMap是線(xiàn)程不安全的對象,而Hashtable<>是線(xiàn)程安全的對象。
(public class Hashtable<K,V>
extends Dictionary<K,V>
implements Map<K,V>, Cloneable, java.io.Serializable {}
)
Properties extends Hashtable<Object,Object>繼承了Hashtable,它有更強大的功能,Properties 可以直接讀取文件,而且可以將文件中的鍵值對直接放到Map中來(lái)(Properties就是一個(gè)Map),調用Properties 的load方法(HashMap、Hashtable中沒(méi)有load方法),能夠
通常DAO是無(wú)狀態(tài)的。
Servlet不僅僅可以處理來(lái)自客戶(hù)端的請求,還可以利用他的init方法來(lái)做些我們想做的初始化工作。
任何一個(gè)請求servlet發(fā)到服務(wù)器端,都會(huì )先調用servlet中的service()方法,在service方法中根據請求的Httphead里面攜帶的有關(guān)這個(gè)請求方法的信息,譬如是get或者post方法,然后把這個(gè)請求轉發(fā)給doGet()或者doPost(),實(shí)際上任何一個(gè)servlet都有一個(gè)唯一的入口,即service()方法,所以可以在到達doGet()或者doPost()方法之前,在service()方法中執行一些操作。
父類(lèi)中的this是多態(tài)的,他是具體的子類(lèi)對象,而不是父類(lèi)對象。
Spring的主體思想就是DI(依賴(lài)注入)、IOC
聯(lián)系客服