用函數對象表示策略(21)

一、調用特殊函數的能力的存儲起來,傳遞這種能力java

  • 函數指針、代理、lambda表達式(java 8已經支持)

二、java中能夠使用對象引用實現一樣的功能函數

  • 這個方法是一個比較器
  • StringLengthComparator 實例是一個字符串比較操做的具體策略
  • 實例無狀態(沒有域)
  • 全部實例功能上相互等價

  • 所以單例很是適合他

  • 類限制了客戶端使用其餘的比較策略,使用策略接口

  • 泛型只須要繼承並指定便可
  • 下述每次執行都會生成新的對象,能夠方法哦私有final 域裏重複使用(取一個有意義的名稱)

  • 內部嵌套類

三、函數指針的主要做用是實現策略模式設計

  • java中聲明一個接口表示該策略,併爲每一個具體策略聲明一個實現了該接口的類
  • 該具體策略僅僅被使用一次,匿名類實現該具體策略
  • 被設計來重複使用的,實現爲私有靜態成員類,使用公共靜態 final 域導出該策略接口
相關文章
相關標籤/搜索