微服務之領域驅動設計-領域模型的設計(領域根、實體)

理清誤區,微服務不是獨立部署的一臺服務,而是更深層次意義上可高度複用的一個模塊。因此設計模式非常重要,不是簡單的接口服務實現。DDD領域驅動設計意在實現微服務的重構,設計的好纔可以讓重構可行,讓重構簡單可行。

重構類 extends 微服務內部實現類 extends 全局抽象類

領域根:控制整個領域聲明週期、實體模型、領域服務、提交器、觸發器
實體:唯一的對象
領域服務:對實體進行增刪改查校驗

package FKS;

/**
 * Author:FangKunSen
 * Time:2020-07-02,20:29
 */
public interface MarkInterface<model extends FatherDTO,agg> {
    String getMethodName();
    String setParam(agg domain);
    model getModel();
    void load(model mode);
}

package FKS;

import FKS.Annotation.ClassName;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
 * Author:FangKunSen
 * Time:2020-07-02,20:43
 */
@Slf4j
@Service
public class ImplClass<model extends FatherDTO, agg> implements MarkInterface<model,agg> {

    protected model AggModel;

    @Override
    public String getMethodName() {
        return "";
    }

    @Override
    public String setParam(agg domain) {
        return "your domain type: "+ domain.getClass().getName();
    }

    @Override
    public model getModel() {
        return this.AggModel;
    }

    @Override
    public void load(model mode){
        Class<?> clazz = mode.getClass();
        ClassName annotation = clazz.getAnnotation(ClassName.class);
        log.warn("加載實現類成功,設置了方法【{}:{}】爲根方法",annotation.value(),mode.getName_method());
        this.AggModel = mode;
    }

}

未完待續……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章