BeanにURLを配置するデザイン
普段の開発ではURLはほとんどページに書かれていませんが、URLの修正に関わると、大量のページで修正しなければならず、煩雑です.
これにより、URLの管理に関わる問題がある.
現在の項目では、URLが固定的なドメイン名+オブジェクトIDの一部であることを考慮すると、URLの変化がオブジェクトと密接に関連していることがわかる.
オブジェクト属性にURL属性を追加する構成を採用する.これにより、今後のURLの静的化も容易に実現できる.
このように一部の領域駆動の概念もその中にある.
BEANオブジェクト:
リンクURL文字列
文字列プロパティファイル:
このように、後でURLを交換したりダミーリンクを実現する場合は、属性ファイルを構成すればよい.
これにより、URLの管理に関わる問題がある.
現在の項目では、URLが固定的なドメイン名+オブジェクトIDの一部であることを考慮すると、URLの変化がオブジェクトと密接に関連していることがわかる.
オブジェクト属性にURL属性を追加する構成を採用する.これにより、今後のURLの静的化も容易に実現できる.
このように一部の領域駆動の概念もその中にある.
BEANオブジェクト:
public class WholesaleGoodsCategory extends AbstractWholesaleGoodsCategory{
public Long getId() {
return getCategoryId();
}
public void setId(Long id) {
setCategoryId(id);
}
public String getUrl() {
return CommonConstant.getGoodsCategoryShowUrl(getId(), getLevel());
}
}
リンクURL文字列
public static String getGoodsCategoryShowUrl(Long id, Integer level)
{
if (level!=null && level>1) {
return MessageFormat.format(rb.getString("goodsCategoryn.showUrl"), "" + id, "" + level);
}
return MessageFormat.format(rb.getString("goodsCategory1.showUrl"), "" + id);
}
文字列プロパティファイル:
goodsCategoryn.showUrl=/mall/goodslist/list.action?wholesaleSubGoodsDto.categoryLevel={1}&wholesaleSubGoodsDto.categoryId={0}
このように、後でURLを交換したりダミーリンクを実現する場合は、属性ファイルを構成すればよい.