所谓框架、模型与模式

2024-02-09 22:58
文章标签 模式 模型 框架 所谓

本文主要是介绍所谓框架、模型与模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

看了这么久的论文,终于明白了这三个概念的区别和具体的意义。在和实验室的同学讨论的同时发现很多同学对这个问题也不是很明确,所以写个小文记录一下。

首先需要说明的是,这个所说的框架、模型和模式都是在看研究性论文的时候经常提到的概念,可能和软件工程领域的对应概念并不完全一致。并且因为水平有限,我的理解也可能是不正确的。

首先说说框架。所谓框架,应该就是一种处理流程。典型的框架可能是下面这样的:

1a_clip_image002 

这个图片可能看不清楚,不过不重要。框架就是一个解决某一个问题的处理流程。我们熟悉的ASP.NET框架,Rails框架也都是这类的框架——他们解决的是如何搭建web应用的问题。ASP.NET和Rails都规定了一系列的处理流程,从获得用户请求,到把请求定向到适当的类,如何调用用户定义的函数处理问题,再到把处理结果发送给用户。

所谓模型,是一种描述问题的工具。这里需要注意的是我所说的模型并不是所谓“数学建模”、“软件建模”得到的模型,而是另外一种模型,比如对象模型,关系模型等等。这类模型是一些规定,这些规定描述了如何去描述一个概念,同时还规定了一系列的操作,这些操作描述了概念之间如何进行交互。比较典型的就是关系模型,他描述了使用很多很多的属性(数据库字段)来描述一个概念(数据库表),以及这些概念之间的关系,比如Union(对应union操作符),Project(对应select columnname from tablename)等等。模型是一种工具,他是用来帮助人们记录和分析问题的。其他的常用模型还包括对象模型,UML模型等等。

最后是模式。可以认为使用模型建模得到的东西就是模式,比如一个数据库设计,一个软件类设计等等。需要注意的是虽然MySQL管他的数据库叫做模式,但是一个运行中的数据库并不是一个模式,而是一个模式的一个具体实例。因为同一个模式可以有很多个实现,比如Northwind数据库在很多人的机器上都有,但是都是用的Northwind数据库模式。

这里的模式是所谓的Schema,而不是设计模式所谓的Pattern。Schema是用来描述概念和概念之间关系的,而Pattern更多的用于描述概念实例之间的关系,比如某些数据具有一些特定的模式(Pattern),比如电话号码总是【区号-号码】这种模式。另外还有一些被称为模式的东西既不是Schema又不是Pattern 

这篇关于所谓框架、模型与模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/695519

相关文章

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架