欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java代理模式實例分析

 更新時間:2019年07月30日 08:46:57   作者:cakincqm  
這篇文章主要介紹了Java代理模式,結合實例形式對比分析了java代理模式的使用方法與相關操作技巧,需要的朋友可以參考下

本文實例講述了Java代理模式。分享給大家供大家參考,具體如下:

一 不用代理模式的酒商

1 代碼

class RealSubject // 真實角色(紅酒廠商)
{
  public void sell() {
    System.out.println("我是紅酒廠商,歡迎品嘗購買");
  }
}
public class NoProxytest { // 客戶端
  public static void main( String[] args ) {
    RealSubject sub = new RealSubject();
    sub.sell();
  }
}

2 運行

我是紅酒廠商,歡迎品嘗購買

二 使用代理模式的酒商

1 代碼

abstract class Subject // 抽象類,真實角色與代理角色共同繼承
{
  abstract public void sell();
}
class RealSubject extends Subject // 真實角色(紅酒廠商)
{
  public void sell() // 覆寫抽象方法
  {
    System.out.println("我是紅酒廠商,歡迎品嘗購買");
  }
}
class ProxySubject extends Subject // 代理角色(代理商)
{
  private RealSubject realSubject; // 持有真實角色的引用
  public void sell() // 該方法封裝了真實對象的sell方法
  {
    presell();
    if (realSubject == null) {
      realSubject = new RealSubject();
    }
    realSubject.sell(); // 此處執(zhí)行真實對象的sell方法
    postsell();
  }
  private void presell()//執(zhí)行實際角色的方法之前可以進行一些預處理
  {
    System.out.println("廣告宣傳,免費品嘗");
  }
  private void postsell()//執(zhí)行實際角色的方法之后可以進行一些后續(xù)工作
  {
    System.out.println("售后處理");
  }
}
public class proxyDemo {
  public static void main( String[] args ) // 客戶直接找代理商,無須和實際真正角色打交道
  {
    Subject sub = new ProxySubject();
    sub.sell();
  }
}

2 運行

廣告宣傳,免費品嘗
我是紅酒廠商,歡迎品嘗購買
售后處理

3 類圖

更多java相關內(nèi)容感興趣的讀者可查看本站專題:《Java面向對象程序設計入門與進階教程》、《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設計有所幫助。

相關文章

  • java 使用JDBC構建簡單的數(shù)據(jù)訪問層實例詳解

    java 使用JDBC構建簡單的數(shù)據(jù)訪問層實例詳解

    以下是如何使用JDBC構建一個數(shù)據(jù)訪問層,包括數(shù)據(jù)轉換(將從數(shù)據(jù)庫中查詢的數(shù)據(jù)封裝到對應的對象中……),數(shù)據(jù)庫的建立,以及如何連接到數(shù)據(jù)庫,需要的朋友可以參考下
    2016-11-11
  • 基于springboot2集成jpa,創(chuàng)建dao的案例

    基于springboot2集成jpa,創(chuàng)建dao的案例

    這篇文章主要介紹了基于springboot2集成jpa,創(chuàng)建dao的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Java異常處理機制深入理解

    Java異常處理機制深入理解

    如果某個方法不能按照正常的途徑完成任務,就可以通過另一種路徑退出方法。在這種情況下會拋出一個封裝了錯誤信息的對象。此時,這個方法會立刻退出同時不返回任何值。另外,調(diào)用這個方法的其他代碼也無法繼續(xù)執(zhí)行,異常處理機制會將代碼執(zhí)行交給異常處理器
    2022-01-01
  • Java使用Callable和Future創(chuàng)建線程操作示例

    Java使用Callable和Future創(chuàng)建線程操作示例

    這篇文章主要介紹了Java使用Callable和Future創(chuàng)建線程操作,結合實例形式分析了java使用Callable接口和Future類創(chuàng)建線程的相關操作技巧與注意事項,需要的朋友可以參考下
    2019-09-09
  • SpringBoot項目使用mybatis-plus逆向自動生成全套代碼

    SpringBoot項目使用mybatis-plus逆向自動生成全套代碼

    在JavaWeb工程中,每一個SSM新項目或者說是SpringBoot項目也好,都少不了model、controller、service、dao等層次的構建。使用mybatis-plus逆向可以自動生成,感興趣的可以了解一下
    2021-09-09
  • springboot 事件監(jiān)聽的實現(xiàn)方法

    springboot 事件監(jiān)聽的實現(xiàn)方法

    這篇文章主要介紹了springboot 事件監(jiān)聽的實現(xiàn)方法,并詳細的介紹了四種監(jiān)聽方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • java數(shù)據(jù)結構之搜索二叉樹

    java數(shù)據(jù)結構之搜索二叉樹

    這篇文章主要為大家詳細介紹了java數(shù)據(jù)結構之搜索二叉樹,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • MyBatis持久層框架的用法知識小結

    MyBatis持久層框架的用法知識小結

    MyBatis 本是apache的一個開源項目iBatis,接下來通過本文給大家介紹MyBatis持久層框架的用法知識小結,非常不錯,具有參考借鑒價值,感興趣的朋友一起學習吧
    2016-07-07
  • MybatisPlus多條件?or()的使用問題小結

    MybatisPlus多條件?or()的使用問題小結

    這篇文章主要介紹了MybatisPlus多條件?or()的使用問題小結,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • spring boot基于DRUID實現(xiàn)數(shù)據(jù)源監(jiān)控過程解析

    spring boot基于DRUID實現(xiàn)數(shù)據(jù)源監(jiān)控過程解析

    這篇文章主要介紹了spring boot基于DRUID實現(xiàn)數(shù)據(jù)源監(jiān)控過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12

最新評論