查看“商苑面馆:Java命令行版之 FoodModel”的源代码
←
商苑面馆:Java命令行版之 FoodModel
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==Model层的作用== *M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 [[文件:Java8-1.png]] ===客户端功能=== [[文件:Java2-36.png]] ==客户端Model层的编写== ===新建类FoodService=== 新建包service,在其中新建此类。 <nowiki>package service; import dao.*; public class FoodService { private FoodDao foodset; public FoodService() { this.foodset = new FoodDaoArray(); } public static void main(String[] args) { // TODO Auto-generated method stub } } </nowiki> ===列出全部商品:listFood( )=== <nowiki>public void listFood(){ System.out.println("本店现有如下餐品:"); System.out.println(foodset.toString()); System.out.println("如需打包,另加打包费1元"); }</nowiki> ===搜索特定商品:findFood( )=== <nowiki>public void findFood(String s){ //按名称搜索,调用search方法 Food n01 = foodset.search(s); if(n01 != null) { System.out.println("餐品详细信息为:"+n01.toString()); System.out.println("请加入购物车"); }else { System.out.println("对不起,我们店现在没有这种面"); } }</nowiki> ===在main方法中编写测试代码=== <nowiki>public static void main(String[] args) { FoodService fs = new FoodService(); fs.listFood();//测试listFood方法 System.out.println(); System.out.println("现在我们来看一下‘炸酱面'"); fs.findFood("炸酱面");//测试findFood方法 }</nowiki> ===与View层、Dao层联调联试=== 重写View层FoodShow的main方法,主要在方法中调用了一下FoodService. 这样就实现了View 层 调用 Model层 ,Model层又调用 Dao层, MVC三层架构基本建立成功! <nowiki>public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); FoodShow fs = new FoodShow(); FoodService fservice = new FoodService(); fs.showMenu();//视图层列出菜单 int option = fs.getChoise();//视图层让顾客选择 if(option ==1){ fservice.listFood();//调用业务逻辑层 列出全部食物 } //调用业务逻辑层搜索商品 System.out.println("您想点什么餐品?"); String meal = scan.next();//meal:饭的意思,请替换为你的商品类别 fservice.findFood(meal); scan.close(); }</nowiki> 然后鼠标右击FoodShow类,RUN AS -> JAVA APPLICATION : [[文件:java5-6.png|700px]] ==完整代码== <nowiki>package service; import dao.*; import entity.*; //import exception.UserException; public class UserService { /** * 用户集类(用于存储用户 */ private UserDao userset = null; public UserService() { userset = new UserDaoArray(); } /** * 用于向用户集添加用户 */ public void addUser(User user){ userset.addUser(user); System.out.println("用户 "+user.getname() +" 注册成功"); System.out.println(); } /** * 登录验证,判断用户名与密码是否一致 * * @param uid 用户输入的登录账号 * @param pwd 用户输入的登录密码 * @return 登录信息有效:返回用户对象,否则返回NULL */ public boolean login(String name, String pwd) { //用户名为空,密码为空 //try{ if(userset.search(name)==null){ //throw new UserException("用户 "+name+":该用户不存在"); System.out.println("用户 "+name+":该用户不存在"); return false; }else if(!userset.verify(name, pwd)){ //throw new UserException("用户 "+name+":用户名或密码错误"); System.out.println("用户 "+name+":用户名或密码错误"); return false; } System.out.println("用户 "+name+" 登陆成功!"); //}catch(UserException e){ //System.out.println(e.toString()); //return false; //} return true; } public static void main(String[] args) { UserService us = new UserService(); User u1 = new User("王建","000000"); us.addUser(u1);; us.login("李建", "111111"); us.login("王建", "111111"); us.login("王建", "000000"); } }</nowiki>
返回至
商苑面馆:Java命令行版之 FoodModel
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息