洋葱架构

洋葱架构(Onion Architecture)是一种软件架构模式,它将应用程序分为多个同心层,每个层都有明确的职责,并且层与层之间保持松散耦合。以下是一个使用泛型类实现洋葱架构的示例:

领域模型层(Domain Layer)

创建一个表示领域模型的泛型接口 `Entity`:

public interface Entity {

T getId();

}

```

- 创建一个表示数据访问层的泛型类 `Repository`,它依赖于 `Entity` 接口:

```

创建一个表示数据访问层的泛型类 `Repository`,它依赖于 `Entity` 接口:

public class Repository {

private final Map> storage = new HashMap<>();

public void save(Entity entity) {

storage.put(entity.getId(), entity);

}

public Entity getById(T id) {

return storage.get(id);

}

}

public class Service {

private final Repository repository;

public Service(Repository repository) {

this.repository = repository;

}