创建型设计模式:抽象工厂(Abstract Factory)
我们在使用简单工厂或工厂方法,createProduct()是直接返回了已完成的产品。而有些产品由好几个零部件组装而成,各个零部件单独生产,并相关联。这次我们要介绍的是生产自行车的工厂。自行车工厂自行车工厂的任务是:生产两个品牌系列:凤牌和凰牌的自行车生产自行车的各个系列相关零部件:车架(BikeRack),车轮(Wheel)和脚踏板(Pedal),最后组装自行车。品牌差异因为凤牌和凰牌自行车的定
创建型设计模式:工厂方法(factory method)
情况:各子公司合作的物流公司不同接着简单工厂与物流公司合作的例子。公司在多个地区和物流公司都有合作,但各个地区合作的物流公司有所不同,并且有些公司还是当地的物流。简单工厂解决方案结合简单工厂模式,我们可以创建各个地区的简单工厂。这样做先得定义简单工厂的接口:public interface SimpleExpressFactory {
Express createExpress(String
DDD实践思考:文章投票点赞功能的领域建模
功能说明文章投票功能简单描述:用户阅读文章后,可以给文章投票,投票包括两个方向:支持或不支持。设计思考基于领域驱动设计常见的做法,首先可以确定的是文章Article是一个聚合根。Article包含title,content,description等等。有疑惑的地方是:投票Vote是否要单独出来做聚合根,还是把它放在Article聚合根下?需要考虑一下几点:Article和Vote是一对多的关系,但
创建型设计模式:简单工厂(simple factory)
假设你在开发一个商品发货系统,公司没有物流运输能力的,需要对接快递公司。刚开始,货物是交给一个快递公司,你的发货流程简单描述为下单,收货,货物运送。代码类似于:public void send(Goods goods) {
Expess express = new Express();
express.placeOrder(goods);
express.