`
2277259257
  • 浏览: 499312 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

概念解析----web框架

 
阅读更多

 

框架通常是代码重用,

设计模式是设计重用,

架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用

在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。

 

框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识

 

框架模式有:MVC、MTV、MVP、CBD、ORM等等

框架有:

MVC框架:

     表示层:Struts、struts 2、Spring MVC、JSF

     DAO层:Hibernate MyBatis JPA JDO

设计模式有:工厂模式、适配器模式、策略模式等等

 

简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

 

WEB项目引入框架的流程实质:

在请求访问web项目时,在web.xml中引入各个框架的拦截器,把请求带到框架内(按照本框架自己的规范处理请求)进行取参数、处理、转发/重定向(传参数)到其他类或页面

分享到:
评论

相关推荐

    RUST web框架axum快速入门教程

    RUST web框架axum的快速入门教程: 1. axum框架概述:axum是一个用RUST编程语言编写的web框架,它是一个高性能、异步的框架,可以让我们更便捷地构建web应用。 2. 环境搭建:在开始使用axum之前,需要先搭建好RUST的...

    rouille — Rust中的Web框架-Rust开发

    它创建一个侦听套接字并解析来自cli Rouille的传入HTTP请求,这是一个Rust Web微型框架Rouille是一个微型Web框架库。 它创建一个侦听套接字并解析来自客户端的传入HTTP请求,然后帮助您处理请求。 如果您了解Rust,...

    WEB-1.1-Web-Architecture

    本课程涵盖了全栈Web设计中与语言无关的Web服务器框架和模式。 学生将使用他们在HTML,CSS和JavaScript中的先验知识来构建简单的Web应用程序的前端,然后将学习新的概念以编写支持的后端。 本课程涵盖请求-响应周期...

    Struts2 技术内幕-深入解析Struts2架构设计与实现原理

    然后厘清了Web开发中极易混淆的一些重要概念,以及Struts2的核心技术、宏观视图、微观元素、配置元素等,提纲挈领地对Struts2进行了多角度的讲解。核心技术篇首先分析了Struts2中多种具有代表性的设计模式,然后对...

    基于JQuery框架的Web查询视图设计与实现

    JQuery是一个优秀的可跨浏览器的JavaScript框架, 它强化HTML与JavaScript之间的操作, 同时又...本文阐述JQuery框架的概念和原理, 通过JavaWeb应用程序中查询组件的实例, 解析该框 架在软件开发中的应用过程及其特性。

    Rust 中的 Web 框架

    更一般的概念(如数据库处理或模板)不会被直接处理,因为它们被认为与微 Web 框架正交。然而,rouille 的设计使其易于与任何第三方库结合使用,而无需任何粘合代码。文档入门如果您对 HTTP 的工作原理有一般的了解...

    Java Web程序设计教程

    1.1.1web的概念及发展 1 1.1.2web应用程序 2 1.2使用java开发web应用 3 1.2.1面向对象的编程语言 3 1.2.2丰富的框架技术 4 1.2.3xml、css的应用 4 1.2.4使用javascript与ajax提升用户体验 7 1.3多种集成开发...

    Koa2框架原理解析和实现

    koa是一个基于node实现的一个新的web框架,它是由express框架的原班人马打造的。它的特点是优雅、简洁、表达力强、自由度高。它更express相比,它是一个更轻量的node框架,因为它所有功能都通过插件实现,这种插拔式...

    新版Android开发教程.rar

    Android Android Android Android 手机新概念 操作系统的选择 -------- 定制和长尾 � 重构 � MVC 和 Web APP 架构 Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐...

    压测性能测试培训(2022-02-16 性能测试培训) 压缩文件包含 【JMeter基础培训、WEB网站优化、性能测试知识分享】

    性能测试的基本概念 性能测试指标 服务器指标 网络指标 关键性能指标 性能测试的环境条件 性能测试分析、调优整体框架 性能测试优化实施策略 性能分析原则 性能调优的注意事项 第二部分,关于WEB网站优化相关知识点...

    kost:基于Koa,使用Typescript开发的Web框架

    是一种内置多个功能,并附带多个规范的Web框架 特性 依赖注入 使用打字稿编写 装饰器风格的路由定义 支持中间件,包括Koa的中间件 帖子服务的概念 支持加载不同环境下的配置文件 兼容Koa中间件 内置特性 ...

    Fourinone分布式并行计算四合一框架

    Fourinone(中文名字“四不像”)是一个四合一分布式计算框架,在写这个框架之前,我对分布式计算进行了长时间的思考,也看了老外写的其他开源框架,当我们把复杂的hadoop当作一门学科学习时,似乎忘记了我们想解决问题...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    9.10.1、过滤器的基本概念 9.10.2、实现过滤器 9.10.3、过滤器的应用 9.11、监听器 9.11.1、对application监听 9.11.2、对session监听 9.11.3、对request监听 9.11.4、监听器实例 —— 在线人员统计 ...

    asp.net知识库

    使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf部署 ASP.NET 2.0 Security FAQs Asp.net 2.0功能体验,细节之Web控件(一) 隐藏控件 Asp.net 2.0功能体验,总体设计思想 Asp...

    day020-继承加强和设计模式代码和笔记.rar

    传统方式获取流是new创建的,而在web开发中有可能获取不到配置文件,为了避免这种情况,用以下方式获取流: 1. 通过当前类字节码文件的方式,一般是用当前类的字节码文件 当前类.class....

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    9.10.1、过滤器的基本概念 9.10.2、实现过滤器 9.10.3、过滤器的应用 9.11、监听器 9.11.1、对application监听 9.11.2、对session监听 9.11.3、对request监听 9.11.4、监听器实例 —— 在线人员统计 ...

    李兴华Java Web开发实战经典(高清版) Part2

    9.10.1、过滤器的基本概念 9.10.2、实现过滤器 9.10.3、过滤器的应用 9.11、监听器 9.11.1、对application监听 9.11.2、对session监听 9.11.3、对request监听 9.11.4、监听器实例 —— 在线人员统计 ...

    中南大学网络工程实验-服务器搭建实验原创40页超详细手册-之WWW篇

    详细解释了WWW的基本概念,包括Web服务器、HTTP协议等核心概念,为读者建立了扎实的理论基础。 随后,手册逐步引导学生完成服务器搭建的实际步骤。从准备工作开始,包括操作系统的选择、网络设置等方面,一一介绍每...

    grapesjs:免费和开放源代码的Web Builder框架。 无需工具即可构建模板的下一代工具

    GrapesJS是一个免费且开放源代码的Web Builder框架,可帮助您更快,更轻松地构建HTML模板,以便在网站,新闻通讯或移动应用程序中交付。 主要是,GrapesJS设计用于在内部使用,以加快动态模板的创建。 为了更好地...

    棱镜:Prism是用于使用Web组件构建同构Web应用程序的实验性编译器

    Prism不是稳定的生产框架,而是更好的同构实现的概念证明。 棱镜是从头开始构建的。 所有HTML,CSS和JS的解析和渲染都是在称为的内部库下完成的。 安装方式: > npm install -g @kaleidawave/prism > prism info...

Global site tag (gtag.js) - Google Analytics