Groovy MOP 實戰(六):運行時給類與對象動態添加屬性/方法
Groovy MOP 的核心魅力在於「運行時擴展」。本文通過對比實驗,清晰劃分類級增強與實例級增強的行為邊界,並演示兩種實現類級增強的等效路徑。 核心概念:兩
Groovy MOP 實戰(七):運行時方法與屬性存在性分析的三種方式
在動態語言中,運行時檢測方法或屬性是否存在是常見需求。Groovy 提供了三種機制,其可見範圍依次擴大:Java 反射 < hasMetaMethod < re
Groovy MOP 實戰(八):運行時動態添加構造器與靜態方法
Groovy 的元對象協議(MOP)賦予了類在運行時擴展行為的能力。本文聚焦兩大進階場景:動態重載構造器 以簡化物件創建,以及 動態注入靜態方法 以擴展類級功能
Groovy MOP 探索(九):Interceptor 入門——三大生命週期、阻止原方法執行、修改返回值與參數檢視
Groovy Interceptor 以三方法構建輕量 AOP:beforeInvoke、doInvoke、afterInvoke。 基礎攔截器 class
Groovy MOP 探索(十):Interceptor 進階——可配置攔截方法、多類復用與 AOP 輔助類
從固定方法攔截進化到可配置、可復用的 AOP 基礎設施。 可配置攔截器 透過建構子注入攔截方法列表: class MethodsInterceptor imp
Groovy MOP 探索(十一):運行時覆蓋 invokeMethod——MetaClass vs 物件 vs GroovyInterceptable 三層優先級
Groovy 允許運行時為類動態添加 invokeMethod Hook,並與物件自帶 Hook、GroovyInterceptable 介面形成三層優先級體系
Groovy MOP 探索(十二):方法調用優先順序——類定義 vs ExpandoMetaClass 類級 vs 實例級
Groovy 方法實現途徑多樣:類定義、ExpandoMetaClass 類級擴充、ExpandoMetaClass 實例級擴充、Hook 方法。本文驗證它們的
Groovy MOP 探索(十三-1):Interceptor 放行與阻止攔截——從被動忽略到主動阻止與 & 符號技巧
Interceptor 兩種「不攔截」策略:被動放行(邏輯判斷略過)與主動阻止(& 符號繞過攔截器)。 被動放行:邏輯過濾 在 beforeInvok
Groovy MOP 探索(十三-2):Interceptor 阻止嵌套攔截的終極方案——UninterceptedInterceptor 基類
接續上篇,解決攔截器內部調用被攔截方法導致的無限遞歸(堆疊溢出)問題。除 & 符號逐個阻止外,提供通用基類 UninterceptedIntercept
Groovy MOP 探索(十四):對 Java 類應用 Groovy MOP——Proxy 包裝、攔截器與 MetaClassRegistry 註冊
Groovy 與 Java 混合專案中,常需為 Java 類動態添加方法或攔截行為。本文介紹三種為 Java 類啟用 MOP 能力的方法。 方法一:Expan
Groovy MOP 探索(十五):ExpandoMetaClass 實現動態方法名——從排序工具到對數函數與動態委派
Groovy 允許在運行時動態定義方法名,結合 ExpandoMetaClass 與 GString 插值,可批量生成 sortByXxx()、logN() 等
Groovy MOP 探索(十六):用 Interceptor 實現觀察者模式——突破單繼承限制
觀察者模式常用於事件通知,Java 實現需被觀察者繼承 Observable、觀察者實現 Observer,因單繼承限制導致被觀察者無法繼承其他類。Groovy
演化架構與緊急設計:用 Groovy 構建領域特定語言(DSL)
DSL 以聲明式語法捕獲領域慣用模式,使程式碼更易讀、更突出業務邏輯。Java 死板語法難構建優雅 DSL,Groovy 以開放類、Categories、Exp
Groovy 技巧:==、equals 與 is() 的正確使用場景
Groovy 為提升編碼敏捷性,重新定義了 ==、equals() 與 is() 的語義,本文釐清三者差異與適用場景。 Java 的痛點 Java 中 ==
實戰 Groovy:@Delegate 註解——打破 final 類限制、實現多重繼承行為與 Duck Typing
Scott Davis 深入探討 Groovy 1.6 引入的 @Delegate 註解,展示其如何模糊資料類型與行為、靜態與動態類型的界限,並成為單元測試的利
Groovy 核心語法精講:閉包與集合操作完全指南
閉包與集合是 Groovy 最具表現力的核心特性,本文系統梳理 Groovy 1.0 中的閉包語法、List/Map 操作、迭代方法與函數式集合轉換技巧。 一
Groovy 1.5 新特性深度解析:註解、泛型、枚舉與更強大的動態能力
Groovy 這款針對 JVM 的類 Java 動態語言,自 2007 年 1.0 版發布以來持續成熟。1.5 版帶來重大里程碑:完整支援 Java 5 特性(
Groovy、Grails 與 NetBeans 開發環境完整安裝配置指南
本指南專為 Groovy 與 Grails 初學者撰寫,資深開發者可略過。若您有寶貴建議,歡迎批評指正。 技術背景與版本說明 Groovy 是運行在 JVM