Sunday, April 01, 2007

 

Default Interface Implementation

這是AspectJ in Action8.5.4 Providing a default interface implementation中的程式碼

With OOP


public interface Nameable {
   public void setName(String name);

   public String getName();
}
===============================================================================
public interface Identifiable {
   public void setId(String id);

   public String getId();
}
===============================================================================
public class Entity implements Nameable, Identifiable {
   private String _name;
   
   private String _id;
   
   public void setName(String name) {
      _name = name;
   }

   public String getName() {
      return _name;
   }

   public void setId(String id) {
      _id = id;
   }

   public String getId() {
      return _id;
   }
}

With AOP


public interface Nameable {
   public void setName(String name);

   public String getName();

   static aspect Impl {
      private String Nameable._name;

      public void Nameable.setName(String name) {
         _name = name;
      }

      public String Nameable.getName() {
         return _name;
      }
   }
}
===============================================================================
public interface Identifiable {
   public void setId(String id);

   public String getId();

   static aspect Impl {
      private String Identifiable._id;

      public void Identifiable.setId(String id) {
         _id = id;
      }

      public String Identifiable.getId() {
         return _id;
      }
   }
}
===============================================================================
public class Entity implements Nameable, Identifiable {
}

有了AOP後
Default Implementation不再是class與abstract class的專利
看看上面的程式碼
想想自己系統中多少domain object有name與id這兩個property
就會知道這個AOP Idiom可以省下多少行程式
不過設計上要更小心是一定的
另外AJDT對於這些introduction進來的field與method
似乎還沒有辦法用快捷鍵則是比較麻煩的地方

Labels: , ,


 

awfullychocolate

PTT巧克力板上看到的消息
awfullychocolate要開第三家分店
聽說是黃湘怡開的巧克力店
身為一個以巧克力為主食的人
居然沒什麼印象
只是覺得這個店名有點眼熟
原來我家附近就有一家!!!
之前經過有看到招牌
開在很冷清的中崙高中旁邊巷子裡面
充滿好奇心的我想要進去一探究竟
卻被店裡面整個地空蕩嚇阻了
很難想像這居然是一家巧克力店...

看到網站裡面介紹的原味巧克力蛋糕
還有"黑"巧克力冰淇淋
我真的現在就想走去買來吃了...

Labels: ,


 

All Of My Photos On Explore!


愚人節快樂!, originally uploaded by swanky.

今天我所有的照片都上Flickr Explore囉~
只有今天喔
錯過了可能要再等一年啦~ XD

Labels: