Btw lupa mention... specific dynamic feature yg gw mesti highlight adalah
macro (e.g di LISP, Boo). Mirip dengan macro di office tools, i think ini
analogi real-world yang paling effective buat illustrate the purpose dan
potential of AOP features buat eliminate repetitive tasks.

2010/3/4 Hendry Luk <hendrym...@gmail.com>

> Btw just to put another thing into perspective...
> Benernya aop diintroduce buat minimalise repetitive code, terutama karna
> banyaknya repetition n code noise yg dibutuhin dalam static language.
>
> Dynamic languages jarang pusingin aop, karna flexibility dari languagenya
> udah allow lu buat nulis code yg gak repetitive.
> Sebagai contoh, singleton pattern, ato observable pattern, ato dispossable,
> clonnable pattern, exception handler, etc.
> Di static language, gak ada get around it, even dengan AOP framework.
> Misalnya buat bikin singleton, lu mesti selalu repeat beberapa hal buat make
> it happen:
> - initialise singleton object lazily
> - bikin semua constructor private
> - override serialization n deserialization mechanism buat return the same
> instance, bukan new instance
> - bikin static getInstance() method
> - make sure the whole singleton pattern thread safe (e.g. pake double lock
> pattern)
> - make sure gak ada static methods di singleton class
> etc
>
> Kita semua dah all these craps ini berulang2. Ini adalah cross-cutting code
> yang mesti lu repeat di semua module dan susah disingkirin. Gitu juga dengan
> observable, clonable, exception handling etc yang gak lebih dari code noise
> (boilerplate code) yang gak ngasih any real value ke class lu.
> Di dynamic language though, lu bisa tinggal extend the language dengan
> bikin template buat "singleton pattern" yang otomatis bisa diapply across
> the board pas runtime/compile time ke semua class yang kita mau singleton.
> Lu tinggal nulis 1 kali doank, apply anywhere. Kita tinggal tunjuk
> declaratively (misalnya dengan annotation), "i want this to be singleton",
> langsung compiler nulisin codenya for you.
>
> Gitu juga dengan observable pattern, dispossable pattern, clonnable,
> exception handling, etc, dimana kita bisa langsung apply across the board ke
> semua class tanpa nulis sendiri manually di tiap class. Gak perlu repeat
> yourself everytime.
>
> Dynamic language minimalises the need buat nulis repetitive code. Disana
> teknik aop dah jadi natural part of the language, dan jarang direintroduced
> under aop flagship. Static language berusaha buat ngambil manfaat dari
> dynamic language ini, dan karna itulah dibikin konsep aop yang to some
> extend berhasil bikin lu nulis cross-cutting code tanpa repetition.
>
> 2010/3/4 sm96 <syaiful.mukh...@gmail.com>
>
>
>>
>> AOP bukan hanya interceptor lho...
>>
>> 2010/3/3 Nashroulloh <naz...@gmail.com>
>>
>>>
>>>
>>> > hmm.. bau-baunya promosi guice nih
>>>
>>> Sekedar upaya menyeimbangkan antara konsep dan praktek.
>>> Berharap ada yg memberi contoh lain.
>>>
>>> regards,
>>> Nasrul
>>>
>>> --
>>> Menikmati Hidup Mempersembahkan yang Terbaik
>>> -Nashroulloh
>>>
>>>
>>
>>
>> --
>> syaiful.mukhlis
>> gtalk:syaiful.mukh...@gmail.com <gtalk%3asyaiful.mukh...@gmail.com>
>>  
>>
>
>

Kirim email ke