商苑面馆:Java命令行版之 CartModel
来自CloudWiki
目录
Model层的作用
- M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
客户端功能
客户端Model层的编写
新建类CartService
新建包service,在其中新建此类。
package service; import dao.*; public class CartService { private CartDao cartset; public CartService() { this.cartset = new CartDaoMap(); } public static void main(String[] args) { // TODO Auto-generated method stub } }
列出购物车全部商品:listCart( )
public void listCart(){ cartset.queryFood(); }
添加购物车:addToCart( )
/** * 向购物车中添加商品 * @param goods 向仓库中添加商品(数组) * @return 值为空 */ public boolean addToCart(Food f,Integer n){ System.out.println("现在开始向购物车中添加商品 "); if(n<=0){ System.out.println("商品数量必须大于0!"); return false; } Integer num=cartset.hasFood(f);//返回购物车中商品数 System.out.println("num="+num); if ( n +num > f.getNum()) {// 判断商品库中是否有足够书籍 System.out.println("商品:" + f.getName() + " 仅剩" + f.getNum() + "个,无法满足您的购买需要。"); return false; } //System.out.println(num); if(num>0){// 购物车中有当前书籍,书籍数量+n //System.out.println("购物车中有当前商品"); cartset.modifyFood(f, n); }else{// 购物车中没有有当前书籍,直接+n cartset.addFood(f,n); //System.out.println("购物车中没有当前商品"); } System.out.println("购物车中 商品 "+f.getName() +" 的数量增加了 "+n+"个"); return true; }
取消购买 delFromCart()
/** * 向购物车中删除商品 * @param g 向仓库中删除商品 * @return 值为空 */ public boolean delFromCart(Food f){ if(cartset.hasFood(f)==0){ System.out.println("要删除的商品"+f.getName()+" 在购物车中不存在"); return false; } cartset.delFood(f); System.out.println(f.getName()+" 已从购物车中清除!"); System.out.println(); return true; }
在main方法中编写测试代码
public static void main(String[] args) { // TODO Auto-generated method stub CartService cs = new CartService(); cs.listCart(); Food f2 =new Noodle("臊子面",14.0,2,"麻辣"); cs.addToCart(f2, 3); cs.addToCart(f2, 1); cs.addToCart(f2, 1); cs.delFromCart(f2); }
完整代码
package service; import dao.*; import entity.Food; import entity.Noodle; public class CartService { private CartDao cartset; public CartService() { this.cartset = new CartDaoMap(); } public void listCart(){ cartset.queryFood(); } /** * 向购物车中添加商品 * @param goods 向仓库中添加商品(数组) * @return 值为空 */ public boolean addToCart(Food f,Integer n){ System.out.println("现在开始向购物车中添加商品 "); if(n<=0){ System.out.println("商品数量必须大于0!"); return false; } if (f.getNum() < n) {// 判断商品库中是否有足够书籍 System.out.println("商品:" + f.getName() + " 仅剩" + f.getNum() + "个,无法满足您的购买需要。"); return false; } Integer num=cartset.hasFood(f); if(num>0){// 购物车中有当前书籍,书籍数量+n cartset.modifyFood(f, n); }else{// 购物车中没有有当前书籍,直接+n cartset.addFood(f,n); } System.out.println("购物车中 商品 "+f.getName() +" 的数量增加了 "+n+"个"); return true; } /** * 向购物车中删除商品 * @param g 向仓库中删除商品 * @return 值为空 */ public boolean delFromCart(Food f){ if(cartset.hasFood(f)==0){ System.out.println("要删除的商品"+f.getName()+" 在购物车中不存在"); return false; } cartset.delFood(f); System.out.println(f.getName()+" 已从购物车中清除!"); System.out.println(); return true; } public static void main(String[] args) { // TODO Auto-generated method stub CartService cs = new CartService(); cs.listCart(); Food f2 =new Noodle("臊子面",14.0,2,"麻辣"); cs.addToCart(f2, 3); cs.addToCart(f2, 1); cs.addToCart(f2, 1); cs.delFromCart(f2); } }