『壹』 java鐨勫嶮縐嶈捐℃ā寮忥紵
鍦╦ava鍩硅鐨勮繃紼嬩腑錛屾垜浠闇瑕佷簡瑙e埌鍏充簬java鐨勮捐℃ā寮忥紝涓嬮潰鏄鏄屽鉤java鍩硅浠嬬粛鐨勫叧浜巎ava璁捐℃ā寮忕殑鐩稿叧浠嬬粛銆
1銆佹ˉ姊佹ā寮(Bridge)錛氬皢鎶借薄閮ㄥ垎涓庡畠鐨勫疄鐜伴儴鍒嗗垎紱伙紝浣垮畠浠閮藉彲浠ョ嫭絝嬪湴鍙樺寲銆
2銆佸悎鎴愭ā寮(Composite)錛氬皢瀵硅薄緇勫悎鎴愭爲褰㈢粨鏋勪互琛ㄧず"閮ㄥ垎-鏁翠綋"鐨勫眰嬈$粨鏋勩傚畠浣垮緱瀹㈡埛瀵瑰崟涓瀵硅薄鍜屽嶅悎瀵硅薄鐨勪嬌鐢ㄥ叿鏈変竴鑷存с
3銆佹娊璞″伐鍘傛ā寮(AbstractFactory)錛氭彁渚涗竴涓鍒涘緩涓緋誨垪鐩稿叧鎴栫浉浜掍緷璧栧硅薄鐨勬帴鍙o紝鑰屾棤闇鎸囧畾瀹冧滑鍏蜂綋鐨勭被銆
4銆佽呴グ妯″紡(Decorator)錛氬姩鎬佸湴緇欎竴涓瀵硅薄娣誨姞涓浜涢濆栫殑鑱岃矗銆傚氨鎵╁睍鍔熻兘鑰岃█錛屽畠鑳界敓鎴愬瓙綾葷殑鏂瑰紡鏇翠負鐏墊椿銆
5銆侀傞厤鍣ㄦā寮(Adapter)錛氬皢涓涓綾葷殑鎺ュ彛杞鎹㈡垚瀹㈡埛甯屾湜鐨勫彟澶栦竴涓鎺ュ彛銆傞傞厤鍣ㄦā寮忎嬌寰楀師鏈鐢變簬鎺ュ彛鎴栫被涓嶅吋瀹硅屼笉鑳戒竴璧峰伐浣滅殑綾誨彲浠ヤ竴璧峰伐浣溿
6銆佽矗浠婚摼妯″紡(ChainofResponsibility)錛氫負瑙i櫎璇鋒眰鐨勫彂閫佽呭拰鎺ユ敹鑰呬箣闂磋﹀悎錛岃屼嬌澶氫釜瀵硅薄閮芥湁鏈轟細澶勭悊榪欎釜璇鋒眰銆傚皢榪欎簺瀵硅薄榪炴垚涓鏉¢摼錛屽苟娌跨潃榪欐潯閾句紶閫掕ヨ鋒眰錛岀洿鍒版湁涓涓瀵硅薄澶勭悊瀹冦
7銆佸伐鍘傛柟娉(FactoryMethod)錛氬畾涔変竴涓鐢ㄤ簬鍒涘緩瀵硅薄鐨勬帴鍙o紝璁╁瓙綾誨喅瀹氬皢鍝涓涓綾誨疄渚嬪寲銆侳actoryMethod浣誇竴涓綾葷殑瀹炰緥鍖栧歡榪熷埌鍏跺瓙綾匯
8銆佸緩閫犳ā寮(Builder)錛氬皢涓涓澶嶆潅瀵硅薄鐨勬瀯寤轟笌瀹冪殑琛ㄧず鍒嗙伙紝浣垮悓鏍風殑鏋勫緩榪囩▼鍙浠ュ壋寤轟笉鍚岀殑琛ㄧず銆
9銆侀棬闈㈡ā寮(Facade)錛氫負瀛愮郴緇熶腑鐨勪竴緇勬帴鍙f彁渚涗竴涓涓鑷寸殑鐣岄潰錛岄棬闈㈡ā寮忓畾涔変簡涓涓楂樺眰鎺ュ彛錛岃繖涓鎺ュ彛浣垮緱榪欎竴瀛愮郴緇熸洿鍔犲規槗浣跨敤銆
10銆佸懡浠ゆā寮(Command)錛氬皢涓涓璇鋒眰灝佽呬負涓涓瀵硅薄錛屼粠鑰屽彲鐢ㄤ笉鍚岀殑璇鋒眰瀵瑰㈡埛榪涜屽弬鏁板寲;瀵硅鋒眰鎺掗槦鎴栬板綍璇鋒眰鏃ュ織錛屼互鍙婃敮鎸佸彲鍙栨秷鐨勬搷浣溿
『貳』 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幾萬以上的,不會錯的。好東西大家一起分享!
祝你早日學會設計模式!