mvc架构理解

最近一段时间看了不少书,主要是数据结构和算法以及UML和模式设计这两本书,就寻思着捣鼓点东西。

软件这东西还真不是说想写就可以写的,首先你必须知道写什么啊。你连需要什么都不知道根本就没办法写。

然后我就思考着写个阅读书籍的程序,当然要带界面的了,可以查看读书记录时间,可以查看书籍信息(读过的,没读的,要读的),可以调出word文档,可以打开pdf阅读器按指定路径打开电子书==

本来以为很容易,结果出人意料,带个界面之后很多问题就变的复杂了

开发环境vs2008

数据库 sql2008

框架 MFC单文档

然后就开工了,为了巩固这段时间学的东西,我就按软件开发具体流程来搞,迭代+进化式开发

编写用例

然后对象分析,对象设计

编码实现,测试

再迭代 <<--------

不管怎么说先得把核心架构搞出来吧!核心架构是什么呢?

这个程序的核心架构应该是:数据,视图,控制,靠,还是mvc

数据:书籍信息

视图:MFC单文档的view

控制:框架上的菜单和按钮操作

------------------------------------------------------------------------------------------

明确以上,很容易想到的一个问题就是写一个管理书籍的类ManageBook

这个类有增删查改功能,数据结构直接用list<book>,这步实现很简单

很简单意义却很重大,这个就是MVC里面的C,对应界面控制操作

我们在考虑考虑数据:

比如说需求是可以查看读过的,没读过的,和将要读的书籍信息

自然这三种情况分别对应数据库三张表alreadyRead,noRead,toBeRead

他们可以对应ManageBook类的三个对象,分别用这三张表的数据来初始化

也就是说,用户操作必须对应三个ManageBook类的对象,这三个对象必须初始化,必须与特定的数据库表关联

如何创建对象以及初始化数据?

以前写控制台,需要用到某个类的对象时,我直接在main函数里创建和初始化就行了,可现在没有main给你写了,VC进行了封装(具体如何封装的我也没深究),反正是不可能像老样子写程序。

了解过MFC多文档单文档的大概都知道在文档里保存数据,创建文档的时候进行初始化。

事实上你也可以在视图里,在框架里保存数据,由你喜欢,只不过是因为文档和视图一对多的关系所以才保存在文档中以便同时更新多个视图(具体参见MFC深入详解)

M到此解决了,相当容易

那怎么弄视图呢?

需求是可以查看读过的,没读过的,和将要读的书籍信息

这些信息在视图中显示,不管是怎么显示,反正是在视图上显示,具体在视图上的那个地方,那个控件上显示都是有视图来控制的

对于MVC中的view应该是最简单的了,他只是从关联的文档中取出数据然后显示

当然这一步也可以相当复杂:你可以抽象显示方式,具体怎么样显示可以由你控制,我这个小程序没搞那么多花样,暂不考虑

----------------------------------------------------------------------------------------------------------------------------------------------------------------

现在的应用程序一般都是这样的流程,核心架构是MVC,利用现成的框架来搞

主要在于M和C上,关于M,这个是脱离框架考虑的东西,你必须对核心数据有准确的把握,采用合理的数据结构。

关于C,这个需要程序员来处理,主要是相应UI操作。 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值