MVC模式(简单模拟QQ登录界面)
来源:互联网 发布:计算机算法的特征 编辑:程序博客网 时间:2024/04/29 12:47
QQ登录界面有这样一个选项:记住账号. 这个账号保存在本地的配置文件中,下次登录的时候,用户就不需要重新输入密码, 那么这个功能是如何实现的呢?下面用C#给出模拟功能的实现,旨在阐述一个重要的设计模式: MVC模式. MVC模式好处多多,详见如下代码:
(需要特别说明的是,用户的QQ号码实际上是保存在硬盘文件中的,即使断电,用户在第二次登录时也可以获得QQ号码。为了简便起见,下面的模拟实现没有考虑从硬盘文件中读写数据,而是直接把用户的QQ号码保存在一个单例中,断电后,单例中的数据当然就不存在了.)
using System;class Model //模型(负责管理QQNumber){ private string QQNumber; private static Model instance; private Model() { } public static Model getInstance() { if (null == instance) //生成单例 instance = new Model(); return instance; } public void setQQNumber(string QQNumber) // setter { this.QQNumber = QQNumber; } public string getQQNumber() // getter { return QQNumber; }}class View //负责与用户交互{ public void showIntoToUser(string s) { Console.WriteLine("QQ number shown in the View is " + s); } public string getInfoFromUser() { Console.Write("Please input your QQ number:"); return Console.ReadLine(); }}class Controller // 负责与Model和View打交道,建立一个桥梁{ public void setInfoToModel(string s) { Model.getInstance().setQQNumber(s); } public string getInfoFromModel() { return Model.getInstance().getQQNumber(); } public void giveInfoToView(string s) { View v = new View(); v.showIntoToUser(s); } public string getInfoFromView() { View v = new View(); return v.getInfoFromUser(); }}class Example{ static void Main() { Controller c = new Controller(); string s1 = c.getInfoFromView(); //用户第一次输入QQ号码 c.setInfoToModel(s1); //用户点击“记住账号”后 string s2 = c.getInfoFromModel(); //从Model中取出数据QQ号码 c.giveInfoToView(s2); //把QQ号码显示在View上 Console.WriteLine( "QQ number stored in the Model is " + Model.getInstance().getQQNumber() ); }}
程序结果如下:
Please input your QQ number:123456789
QQ number shown in the View is 123456789
QQ number stored in the Model is 123456789
- MVC模式(简单模拟QQ登录界面)
- 模拟QQ登录界面
- 简单模仿qq登录界面
- QQ界面的简单模拟
- 模拟QQ登录界面(frame)
- 使用java实现简单QQ登录界面
- java实现简单的QQ登录界面
- 简单安卓QQ登录界面
- MVC模式(简单模拟计算器)
- 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面
- QQ登录界面
- QQ登录界面
- QQ登录界面布局
- QQ 登录界面布局
- QQ 登录界面布局
- 仿qq登录界面
- QQ登录界面01
- QQ登录界面
- 集中不同环境下--正则表达式--区别
- atoi原型
- POJ 3678 2-SAT
- 苹果Mac OS X下配置Cocos2d-x for Android(Eclipse)和IOS(Xcode)开发【内有cocos2dx2.0.3版本的配置】
- UVA 12291 Polyomino Composer
- MVC模式(简单模拟QQ登录界面)
- 常用Photoshop CS6快捷键
- TopK
- Linix 启动过程详解
- 阿姆斯特朗数
- NOIP 2005 等价表达式 四则运算
- Qt5 中对 C++11 一些新特性的封装
- JNI编程系列之高级篇
- 2012MDCC大会总结