1. 模型/视图架构是什么及有什么用
- MVC(Model-View-Control)是一种源自
Smalltalk的设计模式,通常用于构建用户界面。
MVC由三种类型的对象组成。模型是应用对象,用来表示数据;视图是模型的用户界面,用来显示数据;控制器定义了用户界面对用户输入的反应方式。在MVC之前,用户界面设计往往将这些对象混为一谈。MVC将它们解耦,以增加灵活性和重用性。
在之前,可能编程就是,在一个类中,将UI、Data、还有整个控制都写在一起,耦合高,不好拆分。当将之前编写的模块引入到新的项目中时,该模块可能会有很多新项目用不到的内容,还需要手动删除,删除中还会碰到各种问题。 - 如果将视图和控制器对象合并,就会得到模型/视图架构。这仍然将数据存储与呈现方式分离,但提供了一个基于相同原则的更简单的框架。这种分离使得可以在多个不同视图中显示相同的数据,并且可以实现新类型的视图,而无需更改底层数据结构。为了实现对用户输入的灵活处理,引入了委托的概念。在该框架中,使用委托的好处在于可以自定义数据项的渲染和编辑方式。
Qt库提供了许多预定义的模型和视图类,如QStandardItemModel、QListView、QTableView等,开发人员可以根据自己的需求选择合适的类来建立模型和视图。同时,开发人员也可以自定义模型和视图类来适应特定的应用场景。
模型/视图,如下所示:

2. 数据的存储方式可以是多样化的
数据本身并不一定存储在模型中,可以储存在一个数据结构,或者一个文件,一个数据库,或者其他组件中,都是有可能的。
如:一个数据类型,QStringList
QStringList sl;
sl << QString("1") << QString("2") << QString("3") << QString("4") << QString("5")

本文详细介绍了MVC设计模式在IT中的应用,包括模型、视图和控制器的角色,如何通过解耦提高灵活性,以及Qt库中的模型和视图类如QStandardItemModel和QListView的使用。展示了如何通过数据存储多样性适应不同视图,以及模型/视图架构在实际项目中的示例和优势。
483

被折叠的 条评论
为什么被折叠?



