外觀模式(Facade模式)詳解 在現(xiàn)實(shí)生活中吃媒,常常存在辦事較復(fù)雜的例子,如辦房產(chǎn)證或注冊(cè)一家公司么抗,有時(shí)要同多個(gè)部門聯(lián)系,這時(shí)要是有一個(gè)綜合部門能解決一切手續(xù)問題就好了亚铁。 軟...

外觀模式(Facade模式)詳解 在現(xiàn)實(shí)生活中吃媒,常常存在辦事較復(fù)雜的例子,如辦房產(chǎn)證或注冊(cè)一家公司么抗,有時(shí)要同多個(gè)部門聯(lián)系,這時(shí)要是有一個(gè)綜合部門能解決一切手續(xù)問題就好了亚铁。 軟...
裝飾模式(裝飾設(shè)計(jì)模式)詳解 在現(xiàn)實(shí)生活中,常常需要對(duì)現(xiàn)有產(chǎn)品增加新的功能或美化其外觀徘溢,如房子裝修吞琐、相片加相框等。 在軟件開發(fā)過程中然爆,有時(shí)想用一些現(xiàn)存的組件站粟。這些組件可能只是...
橋接模式(Bridge模式)詳解 在現(xiàn)實(shí)生活中曾雕,某些類具有兩個(gè)或多個(gè)維度的變化卒蘸,如圖形既可按形狀分,又可按顏色分翻默。如何設(shè)計(jì)類似于 Photoshop 這樣的軟件缸沃,能畫不同形狀...
適配器模式(Adapter模式)詳解 在現(xiàn)實(shí)生活中修械,經(jīng)常出現(xiàn)兩個(gè)對(duì)象因接口不兼容而不能在一起工作的實(shí)例趾牧,這時(shí)需要第三者進(jìn)行適配。 例如肯污,講中文的人同講英文的人對(duì)話時(shí)需要一個(gè)翻...
代理模式(代理設(shè)計(jì)模式)詳解 在有些情況下,一個(gè)客戶不能或者不想直接訪問另一個(gè)對(duì)象蹦渣,這時(shí)需要找一個(gè)中介幫忙完成某項(xiàng)任務(wù)哄芜,這個(gè)中介就是代理對(duì)象。 例如柬唯,購買火車票不一定要去火車...
建造者模式(Bulider模式)詳解 在軟件開發(fā)過程中有時(shí)需要?jiǎng)?chuàng)建一個(gè)復(fù)雜的對(duì)象,這個(gè)復(fù)雜對(duì)象通常由多個(gè)子部件按一定的步驟組合而成锄奢。 例如失晴,計(jì)算機(jī)是由 OPU剧腻、主板、內(nèi)存涂屁、硬...
抽象工廠模式(詳解版) 工廠方法模式中考慮的是一類產(chǎn)品的生產(chǎn),如畜牧場只養(yǎng)動(dòng)物拆又、電視機(jī)廠只生產(chǎn)電視機(jī)儒旬、計(jì)算機(jī)軟件學(xué)院只培養(yǎng)計(jì)算機(jī)軟件專業(yè)的學(xué)生等。 同種類稱為同等級(jí)帖族,也就是說...
工廠方法模式(詳解版) 在現(xiàn)實(shí)生活中社會(huì)分工越來越細(xì),越來越專業(yè)化盟萨。各種產(chǎn)品有專門的工廠生產(chǎn),徹底告別了自給自足的小農(nóng)經(jīng)濟(jì)時(shí)代了讨,這大大縮短了產(chǎn)品的生產(chǎn)周期捻激,提高了生產(chǎn)效率。同...
原型模式(原型設(shè)計(jì)模式)詳解 在有些系統(tǒng)中胞谭,存在大量相同或相似對(duì)象的創(chuàng)建問題,如果用傳統(tǒng)的構(gòu)造函數(shù)來創(chuàng)建對(duì)象男杈,會(huì)比較復(fù)雜且耗時(shí)耗資源丈屹,用原型模式生成對(duì)象就很高效,就像孫悟空拔...
單例模式(單例設(shè)計(jì)模式)詳解 在有些系統(tǒng)中旺垒,為了節(jié)省內(nèi)存資源、保證數(shù)據(jù)內(nèi)容的一致性肤无,對(duì)某些類要求只能創(chuàng)建一個(gè)實(shí)例先蒋,這就是所謂的單例模式。 單例模式的定義與特點(diǎn) 單例(Sing...
Java的23種設(shè)計(jì)模式全面解析 設(shè)計(jì)模式(Design Pattern)是前輩們對(duì)代碼開發(fā)經(jīng)驗(yàn)的總結(jié),是解決特定問題的一系列套路窥翩。它不是語法規(guī)定业岁,而是一套用來提高代碼可復(fù)用...
JVM的基本概念 JVM是可運(yùn)行java代碼的假想計(jì)算機(jī)笔时,包括一套字節(jié)碼指令集、一組寄存器仗岸、一個(gè)棧糊闽、一個(gè)垃圾回收梳玫,堆和一個(gè)存儲(chǔ)方法域。JVM是運(yùn)行在操作系統(tǒng)之上的右犹,它與硬件沒...
Java操作MongoDB數(shù)據(jù)庫 除了通過啟動(dòng) mongo 進(jìn)程進(jìn)如 Shell 環(huán)境訪問數(shù)據(jù)庫外念链,MongoDB 還提供了其他基于編程語言的訪問數(shù)據(jù)庫方法盼忌。MongoDB ...
MongoDB分布式集群架構(gòu) 看到這里相信你已經(jīng)掌握了 MongoDB 的大部分基本知識(shí)谦纱,現(xiàn)在在單機(jī)環(huán)境下操作 MongoDB 已經(jīng)不存在問題,但是單機(jī)環(huán)境只適合學(xué)習(xí)和開發(fā)測(cè)...
MongoDB創(chuàng)建和查看數(shù)據(jù)庫 MongoDB 將 BSON 文檔(即數(shù)據(jù)記錄)存儲(chǔ)在集合中,數(shù)據(jù)庫包含文檔集合吃嘿。在 MongoDB 里面存在數(shù)據(jù)庫的概念祠乃,但沒有模式,保存數(shù)...
什么是MongoDB 降瞳? MongoDB 是一個(gè)開源的文檔數(shù)據(jù)庫嘱支,它基于 C++ 語言編寫,性能高挣饥,可用性強(qiáng)除师,能夠自動(dòng)擴(kuò)展。 MongoDB 是最流行的 NoSQL 數(shù)據(jù)庫之...
高并發(fā)系統(tǒng)的分析和設(shè)計(jì) 任何系統(tǒng)都不是獨(dú)立于業(yè)務(wù)進(jìn)行開發(fā)的,真正的系統(tǒng)是為了實(shí)現(xiàn)業(yè)務(wù)而開發(fā)的茧吊,所以開發(fā)高并發(fā)網(wǎng)站搶購時(shí)贞岭,都應(yīng)該先分析業(yè)務(wù)需求和實(shí)際的場景,在完善這些需求之后才...
互聯(lián)網(wǎng)系統(tǒng)應(yīng)用架構(gòu)基礎(chǔ)分析 在互聯(lián)網(wǎng)系統(tǒng)中包含許多的工具,每個(gè)企業(yè)都有自己的架構(gòu)讶踪,正如沒有完美的程序一樣芯侥,也不會(huì)有完美的架構(gòu)。 本節(jié)分析的架構(gòu)嚴(yán)格來說并不嚴(yán)謹(jǐn),但是卻包含了互...
Redis和數(shù)據(jù)庫的結(jié)合 使用 Redis 可以優(yōu)化性能,但是存在 Redis 的數(shù)據(jù)和數(shù)據(jù)庫同步的問題唉工,這是我們需要關(guān)注的問題研乒。假設(shè)兩個(gè)業(yè)務(wù)邏輯都是在操作數(shù)據(jù)庫的同一條記錄...
Redis主從復(fù)制 盡管 Redis 的性能很好雹熬,但是有時(shí)候依舊滿足不了應(yīng)用的需要,比如過多的用戶進(jìn)入主頁谣膳,導(dǎo)致 Redis 被頻繁訪問竿报,此時(shí)就存在大量的讀操作。 對(duì)于一些熱...