<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            Java的結構型模式

            時間:2025-05-06 13:08:20 java語言 我要投稿
            • 相關推薦

            Java的結構型模式

              Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。以下僅供參考!

              在GoF設計模式中,結構型模式有:

              1.適配器模式 Adapter

              適配器模式是將一個類的接口轉換成客戶希望的另外一個接口。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。

              兩個成熟的類需要通信,但是接口不同,由于開閉原則,我們不能去修改這兩個類的接口,所以就需要一個適配器來完成銜接過程。

              2.橋接模式 Bridge

              橋接模式將抽象部分與它的實現部分分離,是它們都可以獨立地變化。它很好的支持了開閉原則和組合鋸和復用原則。實現系統可能有多角度分類,每一種分類都有可能變化,那么就把這些多角度分離出來讓他們獨立變化,減少他們之間的耦合。

              3.組合模式 Composite

              組合模式將對象組合成樹形結構以表示部分-整體的層次結構,組合模式使得用戶對單個對象和組合對象的使用具有一致性。

              4.裝飾模式 Decorator

              裝飾模式動態地給一個對象添加一些額外的職責,就增加功能來說,它比生成子類更靈活。也可以這樣說,裝飾模式把復雜類中的核心職責和裝飾功能區分開了,這樣既簡化了復雜類,有去除了相關類中重復的裝飾邏輯。 裝飾模式沒有通過繼承原有類來擴展功能,但卻達到了一樣的目的,而且比繼承更加靈活,所以可以說裝飾模式是繼承關系的一種替代方案。

              5.外觀模式 Facade

              外觀模式為子系統中的一組接口提供了同意的界面,外觀模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。

              外觀模式中,客戶對各個具體的子系統是不了解的,所以對這些子系統進行了封裝,對外只提供了用戶所明白的單一而簡單的接口,用戶直接使用這個接口就可以完成操作,而不用去理睬具體的過程,而且子系統的變化不會影響到用戶,這樣就做到了信息隱蔽。

              6.享元模式 Flyweight

              享元模式為運用共享技術有效的支持大量細粒度的對象。因為它可以通過共享大幅度地減少單個實例的數目,避免了大量非常相似類的開銷。

              享元模式是一個類別的多個對象共享這個類別的一個對象,而不是各自再實例化各自的對象。這樣就達到了節省內存的目的。

              7.代理模式 Proxy

              為其他對象提供一種代理,并由代理對象控制對原對象的引用,以間接控制對原對象的訪問。

            【Java的結構型模式】相關文章:

            java設計模式:多例模式08-12

            java設計模式:裝飾模式07-08

            java設計模式:工廠模式05-27

            java設計模式:DAO模式03-13

            Java 的分支結構03-22

            java泛型方法04-02

            java布爾型介紹03-18

            講解Java的泛型07-13

            JAVA設計模式之單例模式07-29

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看