MVC模型
日历系统mvc分析
ViewData.h
#pragma once
class ViewData;
#include"ModelData.h"
class ViewData
{
private:
ModelData* pmodel;
public:
ViewData(){}
void SetModel(ModelData* p);//设计视图
int Menum();//菜单,返回选项
void PrintData(int year, int month, int day, int oneweek,int mtotal)const;//年 月 日 1号周几 月总天数
void Event(ModelData* pmodel);//事件响应,模式数据发生改变,视图也响应改变
};
ModelData.h
#pragma once
class ModelData;
#include"ViewData.h"
class ModelData
{
private:
ViewData* view; //视图
int year;//年
int month;//月
int day;//日
int mdays;//这月总天数
int curweek;//当天是周几
int oneweek;//每月的1号是周几
static bool Is_Leap(int y);//判断是否为闰年
static int GetYM_Day(int y, int m);//判断这一年的这一月是多少天
static int Get_Week(int y,int m,int d);//获取当月day号是周几
public:
int GetYear()const;
int GetMonth()const;
int GetMday()const;
int GetWeek()const;
int GetMdays()const;
public:
ModelData();
~ModelData();
void SetView(ViewData* pview);//模式与视图关联
void Now();//获取当前日期
void NextMonth();//下一月
void PrevMonth();//上一月
void NextYear();//下一年
void PrevYear();//上一年
void Choose();//选择任意年月
};
CotralData.h
#pragma once
class Controller;
#include"ModelData.h"
#include"ViewData.h"
class Controller
{
private:
ModelData* model;//控制数据
ViewData* view;//控制视图
public:
Controller();
~Controller(){}
v