假設(shè)一個(gè)很常見(jiàn)的場(chǎng)景:XYZMovie(一個(gè)虛構(gòu)電影網(wǎng)站)提供了接口可以讓開(kāi)發(fā)者獲取某部電影的基本信息(電影名、演員、放映時(shí)間、評(píng)分等)接口類(lèi)似這樣:http:api.xyzmovie.com/get?nam...我利用爬蟲(chóng)緩存了該網(wǎng)站的數(shù)據(jù)到本地?cái)?shù)據(jù)庫(kù),現(xiàn)在有一個(gè)電影查詢(xún)程序,它應(yīng)該能設(shè)置本地或網(wǎng)絡(luò)優(yōu)先查詢(xún),如本地或網(wǎng)絡(luò)查詢(xún)無(wú)果則換另一種查詢(xún):classXYZMovieDataSource{XYZMovieGetMovie(stringidorname,etc,priority){XYZMoviem;if(priority==local){dosomething}else{dosomething}returnm;}XYZMovieGetMovieFromLocal(stringidorname,etc){dosomething}XYZMovieGetMovieFromNetwork(stringidorname,etc){dosomething}}請(qǐng)問(wèn)有什么更好的設(shè)計(jì)模式嗎?
有沒(méi)有人遇到過(guò)這個(gè)問(wèn)題哈!如何設(shè)計(jì)一個(gè) 數(shù)據(jù)源或者服務(wù)類(lèi)用來(lái)獲取數(shù)據(jù)?
千萬(wàn)里不及你
2019-06-13 09:55:21