BeanにURLを配置するデザイン


普段の開発では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を交換したりダミーリンクを実現する場合は、属性ファイルを構成すればよい.