0
我正在研究一個具有特定API的bespoken框架,現在我正在對它進行重新分解。如何在Java中實現類似於before_filter的方法?
一個我要解決的問題是建立像做法路由重定向查詢基於查詢和其他屬性的深度不同的班級。 以下是方法:
class Blah {
public Object query1(){...}
public Object query2(){...}
}
,我必須將它更改爲類似
class Blah implements BeforeFilter{
@Override
protected void filter()
{
//decide to call which query method
//then redirect the request to query
}
public Object query1(){...}
public Object query2(){...}
}
一個以上的想法做的非常傳統的方式是添加一個每個查詢的if/else裏面()方法決定走還是不走。
說實話,我不喜歡這種方法。這就是爲什麼我在尋找更優雅的東西。
P.S:這樣做的原因是不改變公共API。我已經實現了代理設計模式,但是會改變一些API。
我正在閱讀Joshua Kerievsky的「Refactoring to Patterns」。在你處理你的項目之前,這是值得一看的。 – rajah9