當前位置:首頁 » 編程語言 » java模式

java模式

發布時間: 2022-01-09 15:29:43

java中常用到得設計模式有哪幾種

一共23種設計模式!

按照目的來分,設計模式可以分為創建型模式、結構型模式和行為型模式。
創建型模式用來處理對象的創建過程;結構型模式用來處理類或者對象的組合;行為型模式用來對類或對象怎樣交互和怎樣分配職責進行描述。

創建型模式用來處理對象的創建過程,主要包含以下5種設計模式:
 工廠方法模式(Factory Method Pattern)
 抽象工廠模式(Abstract Factory Pattern)
 建造者模式(Builder Pattern)
 原型模式(Prototype Pattern)
 單例模式(Singleton Pattern)

結構型模式用來處理類或者對象的組合,主要包含以下7種設計模式:
 適配器模式(Adapter Pattern)
 橋接模式(Bridge Pattern)
 組合模式(Composite Pattern)
 裝飾者模式(Decorator Pattern)
 外觀模式(Facade Pattern)
 享元模式(Flyweight Pattern)
 代理模式(Proxy Pattern)

行為型模式用來對類或對象怎樣交互和怎樣分配職責進行描述,主要包含以下11種設計模式:
 責任鏈模式(Chain of Responsibility Pattern)
 命令模式(Command Pattern)
 解釋器模式(Interpreter Pattern)
 迭代器模式(Iterator Pattern)
 中介者模式(Mediator Pattern)
 備忘錄模式(Memento Pattern)
 觀察者模式(Observer Pattern)
 狀態模式(State Pattern)
 策略模式(Strategy Pattern)
 模板方法模式(Template Method Pattern)
訪問者模式(Visitor Pattern)

推薦你一本好書:《軟體秘笈:設計模式那點事》,裡面講解的23中設計模式例子很生動,容易理解,還有JDK中設計模式應用情況,看了收獲挺大的!網路裡面搜「設計模式」,第一條中設計模式網路中就有首推該圖書,瀏覽量在20幾萬以上的,不會錯的。好東西大家一起分享!
祝你早日學會設計模式!

② java中的設計模式有什麼作用啊

你好,java的設計模式共有23種!都是表示類與類之間的構架關系,也就是表示對象的邏輯關系!
比較常用的有簡單工廠,抽象工廠,單例模式,裝飾模式,適配器模式等等,說白了模式就是前人經過大量的實踐,總結出來的優化的對象關系!
你使用這些優秀的模式去搭建你的程序 無論從效率上還是可讀性上,都給人一種很舒服的感覺。

③ JAVA 設計模式

設計模式主要分三個類型:創建型、結構型和行為型。
其中創建型有:
一、Singleton,單例模式:保證一個類只有一個實例,並提供一個訪問它的全局訪問點
二、Abstract Factory,抽象工廠:提供一個創建一系列相關或相互依賴對象的介面,而無須指定它們的具體類。
三、Factory Method,工廠方法:定義一個用於創建對象的介面,讓子類決定實例化哪一個類,Factory Method使一個類的實例化延遲到了子類。
四、Builder,建造模式:將一個復雜對象的構建與他的表示相分離,使得同樣的構建過程可以創建不同的表示。
五、Prototype,原型模式:用原型實例指定創建對象的種類,並且通過拷貝這些原型來創建新的對象。
行為型有:
六、Iterator,迭代器模式:提供一個方法順序訪問一個聚合對象的各個元素,而又不需要暴露該對象的內部表示。
七、Observer,觀察者模式:定義對象間一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知自動更新。
八、Template Method,模板方法:定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中,TemplateMethod使得子類可以不改變一個演算法的結構即可以重定義該演算法得某些特定步驟。
九、Command,命令模式:將一個請求封裝為一個對象,從而使你可以用不同的請求對客戶進行參數化,對請求排隊和記錄請求日誌,以及支持可撤銷的操作。
十、State,狀態模式:允許對象在其內部狀態改變時改變他的行為。對象看起來似乎改變了他的類。
十一、Strategy,策略模式:定義一系列的演算法,把他們一個個封裝起來,並使他們可以互相替換,本模式使得演算法可以獨立於使用它們的客戶。
十二、China of Responsibility,職責鏈模式:使多個對象都有機會處理請求,從而避免請求的送發者和接收者之間的耦合關系
十三、Mediator,中介者模式:用一個中介對象封裝一些列的對象交互。
十四、Visitor,訪問者模式:表示一個作用於某對象結構中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用於這個元素的新操作。
十五、Interpreter,解釋器模式:給定一個語言,定義他的文法的一個表示,並定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。
十六、Memento,備忘錄模式:在不破壞對象的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態。
結構型有:
十七、Composite,組合模式:將對象組合成樹形結構以表示部分整體的關系,Composite使得用戶對單個對象和組合對象的使用具有一致性。
十八、Facade,外觀模式:為子系統中的一組介面提供一致的界面,fa?ade提供了一高層介面,這個介面使得子系統更容易使用。
十九、Proxy,代理模式:為其他對象提供一種代理以控制對這個對象的訪問
二十、Adapter,適配器模式:將一類的介面轉換成客戶希望的另外一個介面,Adapter模式使得原本由於介面不兼容而不能一起工作那些類可以一起工作。
二十一、Decrator,裝飾模式:動態地給一個對象增加一些額外的職責,就增加的功能來說,Decorator模式相比生成子類更加靈活。
二十二、Bridge,橋模式:將抽象部分與它的實現部分相分離,使他們可以獨立的變化。
二十三、Flyweight,享元模式

④ Java B/S模式

在Java B/S開發模式有以下幾種:
一、JSP+JDBC
這是最簡單的一種開發模式是頁面+邏輯處理,映射到技術上反應出來的有Jsp+Jdbc,在基於這類的實現中在View層也就是jsp頁面上負責數據的顯示、邏輯處理,結合jdbc完成數據的持久化,在小型的項目中,人們確實發現這種方式是最為方便的,但在復雜的項目以及需求不斷變化的項目中,人們慢慢的發現這種方式造成了不少的問題,首先是調試的問題,想想在一個jsp頁面中進行排錯是多麼的困難,其次是修改的問題,為了滿足用戶需求的一個小小的變化,都需要去改不少的頁面,而且很多時候由於寫的時間長了,自己都需要回憶很久才能想起是怎麼回事,更不用說如果人員流動了會怎麼樣,同時還帶來開發效率的問題,由於需要缺少足夠的調試的支持,需要較為熟練的開發人員才能快速的完成,對於一般的人員來說需要一定的適應和學習過程,當然伴隨而來的還有諸如修改界面的時候一不小心少了點代碼什麼造成的錯,最大的問題可能還是重用的問題,通常會造成N多同樣的代碼在頁面上來去的,總結下來在這種模式下有幾個比較重大的問題就是:
1、調試問題。
2、維護問題,顯示和邏輯處理在一起導致了修改顯示的時候較為困難,至於修改代碼則因為之前的調試問題導致了困難,同時由於邏輯均在頁面上後期接手人員需要一段時間去理解。
3、代碼重用性問題。
但同樣它還是存在優點的,那就是可以很快的上手,但由於調試和維護性問題確實太大了,所以在現在也是基本不再採用這種方式了。
二、JSP+JavaBean
在經歷了jsp+jdbc階段後,開始考慮怎麼樣去解決上面三個問題,這個時候就誕生了諸JSP+JavaBean這樣的技術體系,在這個體系中由jsp頁面負責顯示以及接收頁面請求,並調用相應的JavaBean來完成邏輯處理,在獲取其返回的處理數據後轉到相應的頁面進行顯示。在這樣的技術體系中,由於邏輯是由JavaBean來完成的,可以對其進行調試了,代碼的重用性一定程度上也得到了提高。剛開始的時候用這樣的技術體系確實發現比以前用jsp+jdbc爽了很多,但隨著用多了,慢慢又發現了問題,那就是在頁面中需要編寫對於頁面請求數據的獲取,還得根據請求去調用相應的javabean,並根據javabean的處理結果轉入相應的頁面,這同樣造成了修改的麻煩,畢竟是去頁面上修改這些邏輯,總結下來在這種Java B/S開發模式下有比較重大的問題就是:
1、代碼重用性以及維護性問題。但這里的代碼重用性問題和jsp+jdbc的就不同,在邏輯處理部分現在已經可以重用了,但現在在各個頁面就不得不重復的寫獲取頁面請求的參數、相應的調用Model、根據Model的處理結果轉發頁面,這樣的話就導致了在改的時候需要到處去找,造成了維護的復雜。
2、系統結構不清晰。畢竟仍然是在頁面控制整個響應頁面事件的處理流程,這個時候就造成了很多頁面中出現完全相同的jsp代碼,而且控制代碼在頁面,仍然是不便操作,例如對於JavaBean的調用等,而且由於獲取javabean的數據需要轉發的緣故,其實通常就是在最終的顯示頁面上加上上面的控制事件處理流程的代碼,並沒有真正的做到顯示和處理的分離。
同樣,它的優點在於分離了顯示和業務邏輯處理,增強了可調試以及維護性,而且也是很容易上手的,對於小型項目來說仍然是可選的方案之一。
三、基於MVC Framework
在經歷了上面的Jsp+JavaBean的Java B/S開發模式後,我們發現其實現在最需要的就是在jsp、javabean之間能有個東西自動完成頁面請求數據的封裝、根據請求調用相應的javabean、同時根據javabean的處理結果返回至相應的View,有了這樣的思想後,發現smalltalk中的MVC思想很適合這種場景,於是便在Java B/S開發中引入了MVC思想,在這里也簡單的介紹下MVC思想,MVC強調View和Model的分離,View所面對的是Controller,由Controller負責與Model進行交互,View只負責顯示頁面以及顯示邏輯的處理,顯示邏輯指的是諸如第一行要顯示藍色、第二行要顯示紅色這樣的顯示方面的處理,Controller負責接受頁面請求,並將其請求數據進行封裝,同時根據請求調用相應的Model進行邏輯處理,在Model處理後返回結果數據到Controller,Controller將根據此數據調用相應的View,並將此數據傳遞給View,由View負責將數據進行融合並最終展現。MVC帶來的優點很明顯的體現出來了,基於一個這樣的MVC Framework的話開發人員可以按照一種固定的模式進行開發,規范了整個開發過程,提高了質量以及系統結構的清晰性,並由於保證了View/Model的分離,使得一個Model可以對於多種顯示形式的View,需要的僅僅是去改變View和Controller。
按照MVC思想,最容易想到的實現方案莫過於jsp+servlet+javabean,在這裡面jsp對應著View,servlet對應著Controller,javabean對應著Model,因為採用servlet可使用servlet container已經封裝好的頁面數據請求對象HttpServletRequest,這樣就省去了自己封裝頁面請求數據的工作,作為Controller同時還需要承擔根據請求調用對應的javabean,最簡單的做法無非就是在Servlet中直接根據某種邏輯(諸如反射或介面)調用相應的bean進行執行,之後將HttpServletRequest、HttpServletResponse作為參數傳入javabean進行處理,javabean從HttpServletRequest中獲取請求數據,將返回的結果數據放入HttpServletResponse,整個過程結束後繼續由Controller接手進行處理,這個時候作為Controller的servlet將根據處理的結果返回相應的頁面,在這個模型使用時人們慢慢的發現了一個問題,那就是隨著jsp、javabean的變化造成了controller的不斷修改,需要修改其中調用相應javabean以及轉發相應頁面的部分,為了解決這個問題,首先想到的是應該分離根據請求調用相應javabean的步驟,這個時候採用了設計模式中的front controller+application controller的方法,front controller負責接受頁面請求並進行封裝,同時將此數據對象傳遞至application controller,由application controller來負責調用相應的bean,這樣的設計其實都是遵循著一個設計原則,就是職責單一,通常實現application controller的模式是Command模式,在這種情況下MVC Framework的結構體系就演變成了view+controller(front+application)+model。
在完成了上述演變後慢慢又發現了一個問題,就是model依賴於了httpservletrequest,這樣造成的一個問題就是沒法測試,仍然要不斷重啟伺服器來測試,當然與此同時的發展是model層的細化,細化成用於響應頁面請求的action Layer+Domain Model Layer+Persistent Layer,在這里不去討論後面層次的問題,因為作為MVC Framework它並不管你Model層是怎麼個處理流程的。
慢慢也發現了另外一個問題,那就是變化經常要影響到controller的修改,於是便引入了採用配置文件的解決方法,編寫action的配置文件,在配置文件中控制根據action的返回結果轉入相應的View,這樣的話在將來需要改變的時候只需要去改變這個配置文件就可以了,保證了Controller的穩定,這是典型的設計中的重點考慮因素,分離變化和不變化的,讓變化造成的影響最小。
但在引入了上面的配置文件後,慢慢又發現了問題,那就是手寫配置文件總是容易出各種各樣的問題,這個時候採用圖形化的界面來生成配置文件的想法又有了,這也就造就了page flow的誕生,當然,這只是page flow的一小部分功能。
當然,隨著MVC的發展,也帶動了其他相關技術的發展,如非同步請求/響應模式(ajax、amowa)等。

⑤ 什麼是 JAVA模式

通俗就是支持運行JAVA軟體或游戲的模式,只要手機支持JAVA,就可以運行軟體或游戲JAR文件。

⑥ java一共有多少種模式,分別是啥啊謝謝大家幫忙

轉載//////////////
Java中的23種設計模式:

Factory(工廠模式), Builder(建造模式), Factory Method(工廠方法模式),

Prototype(原始模型模式),Singleton(單例模式), Facade(門面模式),

Adapter(適配器模式), Bridge(橋梁模式), Composite(合成模式),

Decorator(裝飾模式), Flyweight(享元模式), Proxy(代理模式),

Command(命令模式), Interpreter(解釋器模式), Visitor(訪問者模式),

Iterator(迭代子模式), Mediator(調停者模式), Memento(備忘錄模式),

Observer(觀察者模式), State(狀態模式), Strategy(策略模式),

Template Method(模板方法模式), Chain Of Responsibleity(責任鏈模式)

工廠模式:工廠模式是一種經常被使用到的模式,根據工廠模式實現的類可以根據提供的數據生成一組類中某一個類的實例,通常這一組類有一個公共的抽象父類並且實現了相同的方法,但是這些方法針對不同的數據進行了不同的操作.首先需要定義一個基類,該類的子類通過不同的方法實現了基類中的方法.然後需要定義一個工廠類,工廠類可以根據條件生成不同的子類實例.當得到子類的實例後,開發人員可以調用基類中的方法而不必考慮到底返回的是哪一個子類的實例.

⑦ java模式有哪些

工廠模式, 工廠方法模式,單例模式, 外觀(Facade)模式, 觀察者(Observer)模式,橋接(Bridge)模式都是比較常用的,不同的項目有不同的設計方向,可以參考的設計模式也不盡相同,沒有定數,只是上面這幾個模式用的比較多一些。

⑧ JAVA中的布局模式

BorderLayout 東 西 南 北 中
FlowLayout 流水
GridLayout 表格
GridBagLayout 特製表格

⑨ 什麼是Java設計模式

閻宏的 <<JAVA 與模式>>
設計模式和具體是哪種語言關系不大吧。。。

ABSTRACT FACTORY 抽象工廠
BUILDER 生成器
FACTORY METHOD 工廠方法
PROTOTYPE 原型
SINGLETON 單件
ADAPTER 適配器
BRIDGE 橋接
COMPOSITE 組成
DECORATOR 裝飾
FACADE 外觀
FLYWEIGHT 享元
PROXY 代理
CHAIN OF RESPONSIBILITY 職責鏈
COMMAND 命令
等等等等。。。按JAVA的語言特性應該都可以實現的。。。

⑩ JAVA里什麼是C/S模式什麼是B/S模式

講實際簡單的吧,概念的東西,留給後面的人去網上復制粘貼~
c/s模式
就是客戶端和伺服器(client/server),現在的大多數進銷存軟體,企業管理軟體都是利用客戶端和伺服器進行對連,實現資料庫的操作的~
b/s模式
就是瀏覽器和伺服器(browser/server),現在的網站就是這樣的結構,你在家裡一個瀏覽器就可以打開你們公司的網站,進行你們公司的後台管理,現在許多的oa系統都是做成b/s結構~

熱點內容
蘋果xs續航等於哪個安卓機 發布:2024-12-29 21:37:41 瀏覽:250
php解密eval 發布:2024-12-29 21:32:03 瀏覽:405
安卓大屏應用商店叫什麼名字 發布:2024-12-29 20:59:18 瀏覽:178
手機如何配置host 發布:2024-12-29 20:57:01 瀏覽:615
年會開場視頻腳本 發布:2024-12-29 20:52:38 瀏覽:92
波拉切紙機編程視頻 發布:2024-12-29 20:45:11 瀏覽:358
韓劇用流量緩存 發布:2024-12-29 20:39:49 瀏覽:697
文件夾命名批量 發布:2024-12-29 20:32:42 瀏覽:917
租用伺服器如何防止上當 發布:2024-12-29 20:22:09 瀏覽:367
sql反黑客 發布:2024-12-29 20:15:35 瀏覽:65