TDD应用试例(根据领域驱动模型设计的培训内容)
发布时间:2020-12-13 20:07:09 所属栏目:百科 来源:网络整理
导读:下面的内容是根据李总培训资料里面的内容。 1.首先书写的TestTDDSuit.java,如下所示: /* * Copyright (C) 2011 GZ-ISCAS Inc.,All Rights Reserved. */ package com.tdd.test.app; import java.util.List; import junit.framework.TestCase; import org.jun
下面的内容是根据李总培训资料里面的内容。
1.首先书写的TestTDDSuit.java,如下所示: 2.书写 Customer.java,Order.java,OrderLine.java,Produce.java 详细内容,请查看附件内容。 (略) 3.OrderRepository.java,内容如下: */ package com.tdd.repsotory; import java.util.ArrayList; import java.util.List; import com.tdd.model.Customer; import com.tdd.model.Order; /** * @ClassName: OrderRepositoryorder * @Description: TODO(倉庫類) * @author xuzhongming Email: xuzhongming@gz.iscas.ac.cn * @date 2012-2-16 - 上午11:07:23 *@version : 1.0 */ public class OrderRepository { /** * @Title: getOrderRepository * @Description: TODO(这里用一句话描述这个方法的作用) * @param @return * @return OrderRepositoryorder * @throws */ public static OrderRepository getOrderRepository() { // TODO Auto-generated method stub return new OrderRepository(); } /** * @Title: addOrder * @Description: TODO(这里用一句话描述这个方法的作用) * @param @param o * @return void * @throws */ public void addOrder(Order o) { // TODO Auto-generated method stub o.getCustomer().buildAndAddOrder(o); } /** * @Title: findOrdersByCustomer * @Description: TODO(得到該用戶的所有訂單列表) * @param @param c * @param @return * @return List<Order> * @throws */ public List<Order> findOrdersByCustomer(Customer c) { // TODO Auto-generated method stub return c.getOrderList(); } /** * @Title: updateOrderInfo * @Description: TODO(更新OrderLine操作,在這里只能在聚合根中修改其內容,而不能直接修改OrderLine) * @param @param o * @return void * @throws */ public void updateOrderInfo(Order o) { // TODO Auto-generated method stub o.updateOrderLine(); } } 4.OrderService.java */ package com.tdd.service; import com.tdd.model.Product; /** * @ClassName: OrderService * @Description: TODO(这里用一句话描述这个类的作用) * @author xuzhongming Email: xuzhongming@gz.iscas.ac.cn * @date 2012-2-16 - 上午10:37:34 *@version : 1.0 */ public interface OrderService { /** * @Title: addProduct * @Description: TODO(这里用一句话描述这个方法的作用) * @param @param p * @param @param i * @return void * @throws */ void addProduct(Product p,int i); } 5.OrderServiceImple.java,All Rights Reserved. */ package com.tdd.service.impl; import com.tdd.factory.OrderFactory; import com.tdd.model.Order; import com.tdd.model.Product; import com.tdd.service.OrderService; import com.tdd.utils.ExceedOrderAmountException; /** * @ClassName: OrderServiceImpl * @Description: TODO(訂單服務類) * @author xuzhongming Email: xuzhongming@gz.iscas.ac.cn * @date 2012-2-16 - 上午10:33:08 *@version : 1.0 */ public class OrderServiceImpl implements OrderService{ public void addProduct(Product p,int amount) { Order o = getCustomerOrder(); try { o.addOrderLine(p,amount); } catch (ExceedOrderAmountException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * @Title: getCustomerOrder * @Description: TODO(这里用一句话描述这个方法的作用) * @param @return * @return Order * @throws */ private Order getCustomerOrder() { // TODO Auto-generated method stub return OrderFactory.getInstance(); } } 6.自定义异常类ExceedOrderAmountException.java,All Rights Reserved. */ package com.tdd.utils; /** * @ClassName: ExceedOrderAmountException * @Description: TODO(超過定單額所導致的異常) * @author xuzhongming Email: xuzhongming@gz.iscas.ac.cn * @date 2012-2-16 - 下午1:44:19 *@version : 1.0 */ public class ExceedOrderAmountExceptionextends Exception { /** * @Fields serialVersionUID : TODO(用一句话描述这个变量表示什么) */ private static final long serialVersionUID = 1L; private String message; public ExceedOrderAmountException(String_message) { message = _message; } public String toString() { return message; } } (完,待续.........) 附件: http://download.csdn.net/detail/haha_mingg/4069213 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容