MVC架构探究及其源码实现(6)-简单示例

博学,切问,近思--詹子知 (https://jameszhan.github.io)


在前一系列的文章中,我们已经完成了MVC架构模式的简单实现,尽管有些粗糙,有些功能还不完善,但是,麻雀虽小,五脏俱全。我们现在就用这个小小的框架,来实现我们的几个简单的应用。
限于篇幅,我们不可能把应用的所有代码都贴上来,我们先来演示一个Hello World的简单应用。
实现控制器HelloController.java 我们再来看看具体的配置(mvc.config.xml) 相应的View文件hello.jsp的实现 根据我们之前的配置,我们应把此文件放到WEB-INF目录下 。

到现在为止,我们简单的HelloWorld的应用就已经完成了。部署完成后,我们访问application下的hello.do便可以访问此页面,并且可以看到当前时间的显示。是不是很简单呀。

这个应用确实是太简单了,以至于我们无法看出MVC的任何强大之处。下面我们再看一个稍微复杂一点的例子,用户登录的验证。
首先,我们来实现我们的控制器LoginController.java 为了简单起见,我们使用Map来维护用户的基本信息。同样,我们需要把我们的控制器配置到我们的系统当中,参照前一个示例的配置,我们只需要在mvc.config.xml中加入下面的一行代码即可。 因为登陆过程中,可能会遇到不同的情况,我们需要为不同的状态准备不同的视图。

1.默认登录页面实现(login.jsp): 2.登陆成功页面实现(success.jsp): 3.登陆失败页面的实现(failure.jsp): 到这里,我们的登陆功能已经基本完成了。部署好应用后,你就可以通过访问login.do来测试我们这个应用的功能了。

尽管我们的MVC框架功能比较简单,但是扩展能力还是很强的,因为我们的目地是为了通过源码实现去更好地掌握MVC框架的实现原理,所以我们将不对此框架进行优化,毕竟,现在成熟而优秀的MVC框架已经有很多了。

相关文章:

  1. MVC架构探究及其源码实现(1)-理论基础
  2. MVC架构探究及其源码实现(2)-核心组件定义
  3. MVC架构探究及其源码实现(3)-WebApplicationContext
  4. MVC架构探究及其源码实现(4)-前端控制器
  5. MVC架构探究及其源码实现(5)-相关组件实现

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在WinForm中实现MVC架构示例代码如下: Model(模型): ```csharp public class StudentModel { public string Name { get; set; } public int Age { get; set; } } ``` View(视图): ```csharp public partial class StudentView : Form { private StudentController controller; public StudentView(StudentController controller) { InitializeComponent(); this.controller = controller; } public void UpdateView(StudentModel student) { txtName.Text = student.Name; txtAge.Text = student.Age.ToString(); } private void btnSave_Click(object sender, EventArgs e) { string name = txtName.Text; int age = int.Parse(txtAge.Text); controller.UpdateStudent(name, age); } } ``` Controller(控制器): ```csharp public class StudentController { private StudentModel model; private StudentView view; public StudentController(StudentModel model, StudentView view) { this.model = model; this.view = view; } public void UpdateStudent(string name, int age) { model.Name = name; model.Age = age; view.UpdateView(model); } public void Initialize() { view.UpdateView(model); } } ``` 程序入口: ```csharp static void Main() { StudentModel model = new StudentModel(); StudentView view = new StudentView(); StudentController controller = new StudentController(model, view); controller.Initialize(); Application.Run(view); } ``` 上述代码示例了一个简单的学生信息管理系统。Model(模型)定义了学生的属性,View(视图)是一个WinForm窗体用于展示学生信息,并提供一个保存按钮用于更新学生信息。Controller(控制器)用于处理用户交互和数据更新的逻辑。在程序入口处,我们创建了Model、View和Controller的实例,并通过Controller的初始化方法初始化视图,并启动应用程序运行。 注意:以上代码只是一个简单示例,实际的MVC架构可能会涉及更多的模型、视图和控制器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值