`
Garriot
  • 浏览: 2057 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

前端控制器模式之一二

阅读更多
4年以前,当我还在一种叫ASP的东西上工作的时候,我整天为两个问题头疼不已:一是如何将分散的页面控制整合起来。解释型的服务器端脚本,每个页面都有接收和处理请求的能力。这样以每个页面作为独立的单元来处理请求让人感觉粒度太小,分散又不爽。二是如何减少重复代码。脚本语言里处理重复代码的灵丹妙药是include。每个页面里都可以include header,footer,session checker,屡试不爽。但有一次我很不幸,我要改一下header的名字……
后来投靠了java,用了struts,豁然开朗,就像天空中飘下来几个大字:前端控制器。在这几个字的怀里缠绵已久,回望脚本语言林林总总,处处鲜花烂漫。

前端控制器在《J2EE核心模式》一书中已经完整的定义过了了,不再复述。下面只是记一下自己在工作中遇到过的前端控制器模式的实例:
1. 解释型脚本的前端控制器的实现:近期接触了一个php项目,打开看了它的index.php,顿时感觉醍醐灌顶,赞叹作者思想精妙不已,一个小小的页面里面做了控制分发和页面Layout处理。用户所有的请求都发送给index.php页面,然后后面加上几个参数,如action和event。该系统个php文件的关系是通过命名约束来处理的。比如如果action=XXX,那么会有一个XXX.class.php,一个XXX.page.template.php,还有相关的footer,header,form,content之类的页面对应文件。当index页面接到请求的时候通过action名字匹配,利用万能的include将对应的class.php加载进来,作为对action进行处理的command使用。当command处理完以后,然后再把对应的page.template,footer,header,content加载进来,然后根据event进行处理。所有动作完成后,把组装好的页面返回给用户。一次控制分发和页面处理就完成了。一个百行的index.php代码就完成了一个完整的前端控制器,整个框架不可谓不轻啊。脚本的灵活性让我这个整天活在java的xml配置文件里的人好生羡慕啊。
更加完整的解释型前端控制器:用过一个月的ColdFusion,解释型的标签式语言。March II是这个平台上最流行的MVC框架之一。这个框架和struts非常相似,一个配置核心的XML文件。不过解释型脚本的问题在于它们的最小粒度永远都是独立的一个页面。这个框架接收用户请求的还是那个index.cfm文件。这个文件会将请求转给March II的核心文件,并且在第一次被调用的时候会初始化一个应用级的变量,来保存系统xml里的信息。然后通过index.cfm后面的参数匹配来处理action(MarchII叫它listener),event之类的东西。这个系统在实现信息包装、控制分发和页面处理的同时,还实现了拦截器的功能。在处理action的listener前面加了一个叫filter的东西来处理,来进行过滤用户信息。整体来说这个框架算是一个比较完整的MVC框架。也是我见过的比较完整的解释型脚本的框架。

2.JAVA EE里的前端控制器:Strut1和Struts2里面的做法算是比较经典的两种前端控制器。由于JAVA EE中对处理用户请求的单元进行了重新定义,类型更丰富,比如Filter和Servlet。而配置的映射机制使接收用户请求的粒度变得很有弹性。struts1里面使用Servlet作为前端控制器,来实现用户请求的封装,控制分发,和结果返回处理。struts2 对struts1这方面最大的改进莫过于使用Filter来作为前端控制器。由于Filter本身就是非常典型的Chain模式,请求运转与Filter之中,就是行走于一个链中,而且filter接收和处理请求位于比Servlet更靠前的位置,这使我们在基于它进行开发时,活动余地更大,更增强了我们对request和response的控制,也提供了一种框架内更便捷的拦截器(或者叫子链)实现方式。关于Struts1和struts2,想必大家都已经烂熟于心了,也没必要重复了。

3. 令人眼前一亮的奇妙想法:和同事交流前端控制器模式的心得,他说了一个让人神清气爽的例子,也是php的。他维护的那个项目有一个要求比较安全的模块。刚开始他始终找不到驱动这个模块的核心在哪里。用户请求的地址总是找不到相匹配的php文件,也没有找到代码里有能处理这些请求分发的地方。找来找去,突然发现这个系统的前端控制器是一个大家天天都会见的页面:HTTP 404错误页面。因为每一个找不到对应资源的请求都会来到这里,所以他们在这里做了请求解析、控制分发的处理。看到如此巧妙的东西,实在是惊叹设计人员的脑子。且不说这种做法的好与坏,它至少将核心处理的代码隐藏到了一个应用级别以外的地方。大家大笑以后,想想这也是个很好的trick啊。
分享到:
评论
10 楼 Garriot 2007-11-26  
夜枫舞影 写道
Garriot 写道
夜枫舞影 写道
我觉得 j2ee里的前端控制器只是作为初始访问点进行集中访问,
而应用控制器才是进行操作与视图管理(调用action之类的)。


前端控制器模式的参与者有控制器,分发者,视图,助手等,控制器是用户请求的集结点,分发者请求匹配和分发,助手处理数据和辅助视图。
我不太明白你说的那个应用控制器是指哪个,位于什么位置。我感觉你说的有点像分发者



也可能我在这里说的概念有些混乱。我说前端控制器模式的时候是指上述元素构成的一种表现层的处理模式,而我说前端控制器的时候是单指这种模式里的控制器部分。
前端控制器的概念,
我也是从asp时代就略有了解,总体上来说就是一个分发,给用户一个集中的访问点,尽量的减少重复代码。
楼主说的《J2EE核心模式》 我也有看过,里面有简单介绍一下struts的原理,我只记得有2个概念,
一个叫 前端控制器,一个叫 应用控制器。

前端控制器 只是一个统一访问的servlet,struts中就是ActionServlet,ActionServlet接受到http请求之后都统一调用process()方法,process()通过调用 应用控制器进行视图分发以及操作流程控制(根据action返回的ActionForward对象)。

书中描述的 前端控制器 我感觉就是很薄的一层,很简单的一个servlet,楼主可能是说这2个组合在一起的吧?



其实我所说的前端控制器就是那个很薄的一层,它后面的我们这边讨论的时候都是统一叫RequestDispatcher,和你说的那个应用控制器是一样的,只是名字的问题。我刚查了一下《J2EE核心模式》,那里面确实叫应用控制器。汗一个我自己 读书不仔细还敢乱叫名字了......
还是应用控制器正统一些,请求分发器又专项又老土......谢谢夜枫舞影提醒啊
9 楼 timerri 2007-11-26  
理解了就好了,千万别被名词解释绕进去...

前端控制器,就是在实际处理模块之前的控制器。它也不是什么专有名词。也有后端控制器,比如特殊信息的屏蔽就可以用后端控制器来做。他们的实现方法那也是多种多样,filter,servlet,AOP等等方式都能实现。

再讲讲asp,其实在iis中也仅仅是个由isapi实现的脚本解释器而已。其实可以很容易的自己写个isapi去调用jvm实现jsp的脚本解析,事实上,asp.net也是这么做的(用isapi调用clr实现.net中间代码的解析)。

前面说到的asp in js+ajax去实现网站在现在这个虚拟主机的大环境下可能会有一定的生命力,不过恐怕很难有第二春。以后的虚拟主机绝对不会是简单架个操作系统就往外卖服务的了。SAAS之类的服务很可能就是现有虚拟主机的替代品。技术上来说,ajax也不应该会是一个长命的技术,肯定需要出现新的技术来取代它,事实上,ajax还是太不方便了。

跑题了,跑题了.....人老了,话就多了啊....

8 楼 夜枫舞影 2007-11-26  
Garriot 写道
夜枫舞影 写道
我觉得 j2ee里的前端控制器只是作为初始访问点进行集中访问,
而应用控制器才是进行操作与视图管理(调用action之类的)。


前端控制器模式的参与者有控制器,分发者,视图,助手等,控制器是用户请求的集结点,分发者请求匹配和分发,助手处理数据和辅助视图。
我不太明白你说的那个应用控制器是指哪个,位于什么位置。我感觉你说的有点像分发者



也可能我在这里说的概念有些混乱。我说前端控制器模式的时候是指上述元素构成的一种表现层的处理模式,而我说前端控制器的时候是单指这种模式里的控制器部分。
前端控制器的概念,
我也是从asp时代就略有了解,总体上来说就是一个分发,给用户一个集中的访问点,尽量的减少重复代码。
楼主说的《J2EE核心模式》 我也有看过,里面有简单介绍一下struts的原理,我只记得有2个概念,
一个叫 前端控制器,一个叫 应用控制器。

前端控制器 只是一个统一访问的servlet,struts中就是ActionServlet,ActionServlet接受到http请求之后都统一调用process()方法,process()通过调用 应用控制器进行视图分发以及操作流程控制(根据action返回的ActionForward对象)。

书中描述的 前端控制器 我感觉就是很薄的一层,很简单的一个servlet,楼主可能是说这2个组合在一起的吧?

7 楼 Garriot 2007-11-26  
夜枫舞影 写道
我觉得 j2ee里的前端控制器只是作为初始访问点进行集中访问,
而应用控制器才是进行操作与视图管理(调用action之类的)。


前端控制器模式的参与者有控制器,分发者,视图,助手等,控制器是用户请求的集结点,分发者请求匹配和分发,助手处理数据和辅助视图。
我不太明白你说的那个应用控制器是指哪个,位于什么位置。我感觉你说的有点像分发者



也可能我在这里说的概念有些混乱。我说前端控制器模式的时候是指上述元素构成的一种表现层的处理模式,而我说前端控制器的时候是单指这种模式里的控制器部分。
6 楼 sp42 2007-11-26  
Garriot 写道
sp42 写道

现在看来旧的ASP设计还蛮先进的!
不知Asp in JScript+一堆可用com组件之配搭,在Ajax流行的情况下,有没有柳暗花明又一村的机会!?
起码这样说的是前后台同一种语言,起码支持ASP的主机的一年才一百块...


我敢保证100块一年的ASP主机是不会让你注册自己的COM组件的。
ASP是已经行将就木,但COM/COM+的架构设计和思想还是会继续发展下去,毕竟这是微软在企业级应用方面的立足点,微软已经把它们升级为CLR和.NET 企业服务。

我承认我最后的一句是多余的
我所表达的。。。只是
引用
....看山还是山啊~~~~
5 楼 夜枫舞影 2007-11-26  
我觉得 j2ee里的前端控制器只是作为初始访问点进行集中访问,
而应用控制器才是进行操作与视图管理(调用action之类的)。
4 楼 Garriot 2007-11-26  
sp42 写道

现在看来旧的ASP设计还蛮先进的!
不知Asp in JScript+一堆可用com组件之配搭,在Ajax流行的情况下,有没有柳暗花明又一村的机会!?
起码这样说的是前后台同一种语言,起码支持ASP的主机的一年才一百块...


我敢保证100块一年的ASP主机是不会让你注册自己的COM组件的。
ASP是已经行将就木,但COM/COM+的架构设计和思想还是会继续发展下去,毕竟这是微软在企业级应用方面的立足点,微软已经把它们升级为CLR和.NET 企业服务。
3 楼 sp42 2007-11-26  
timerri 写道
asp当年,设计上是和isapi,activex共同来实现网站的。可是由于isapi,com门槛太高,以至于大部分开发人员只会使用asp.....不能不说是这种架构的悲哀....

在iis中,isapi filter作为前端控制,isapi extention/com负责主要逻辑,ado(也是个com)负责数据层,asp负责view层。
想明白,其实现在的所谓新技术\新框架也只是在这种结构上做了少许改动而已....看山还是山啊~~~~

现在看来旧的ASP设计还蛮先进的!
不知Asp in JScript+一堆可用com组件之配搭,在Ajax流行的情况下,有没有柳暗花明又一村的机会!?
起码这样说的是前后台同一种语言,起码支持ASP的主机的一年才一百块...
2 楼 Garriot 2007-11-26  
使用ISAPI的话,在很大程度上限制了脚本型语言的轻便快捷。而且当年铺天盖地的ASP书籍上很少有提ISAPI的,导致ISAPI在普及方面遇到了很大的瓶颈。而且当年咱们搞个PWP,IIS之类的就能在自己机器上建起来ASP环境,如果用COM的话,又是编译,又是注册表的,这种复杂度无意中又拖了COM的后腿

其实当年微软是想用COM一统江湖的,但是COM本身的一些硬伤,使COM这个东西曲高和寡,不过也有好处,就是催生.NET这种被称作COM++的东西
1 楼 timerri 2007-11-24  
asp当年,设计上是和isapi,activex共同来实现网站的。可是由于isapi,com门槛太高,以至于大部分开发人员只会使用asp.....不能不说是这种架构的悲哀....

在iis中,isapi filter作为前端控制,isapi extention/com负责主要逻辑,ado(也是个com)负责数据层,asp负责view层。
想明白,其实现在的所谓新技术\新框架也只是在这种结构上做了少许改动而已....看山还是山啊~~~~

相关推荐

    查看进程信息,方便排查问题

    查看进程信息,方便排查问题

    IDA Pro分析STM32F1xx插件

    IDA Pro分析STM32F1xx插件

    基于SSH的线上医疗报销系统.zip-毕设&课设&实训&大作业&竞赛&项目

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    matlab的小型的微电网仿真模型文件

    小型的微电网仿真模型,简单模拟了光伏,家庭负载变化的使用情况

    MATLAB代码实现:分布式电源接入对配电网运行影响深度分析与评估,MATLAB代码分析:分布式电源接入对配电网运行影响评估,MATLAB代码:分布式电源接入对配电网影响分析 关键词:分布式电源 配电

    MATLAB代码实现:分布式电源接入对配电网运行影响深度分析与评估,MATLAB代码分析:分布式电源接入对配电网运行影响评估,MATLAB代码:分布式电源接入对配电网影响分析 关键词:分布式电源 配电网 评估 参考文档:《自写文档,联系我看》参考选址定容模型部分; 仿真平台:MATLAB 主要内容:代码主要做的是分布式电源接入场景下对配电网运行影响的分析,其中,可以自己设置分布式电源接入配电网的位置,接入配电网的有功功率以及无功功率的大小,通过牛顿拉夫逊法求解分布式电源接入后的电网潮流,从而评价分布式电源接入前后的电压、线路潮流等参数是否发生变化,评估配电网的运行方式。 代码非常精品,是研究含分布式电源接入的电网潮流计算的必备程序 ,分布式电源; 配电网; 接入影响分析; 潮流计算; 牛顿拉夫逊法; 电压评估; 必备程序。,基于MATLAB的分布式电源对配电网影响评估系统

    基于Unity-Bolt开发的游戏demo.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    重庆市农村信用合作社 农商行数字银行系统建设方案.ppt

    重庆市农村信用合作社 农商行数字银行系统建设方案.ppt

    光伏并网逆变器设计方案与高效实现:结合matlab电路仿真、DSP代码及环流抑制策略,光伏并网逆变器设计方案:结合matlab电路文件与DSP程序代码,实现高效并联环流抑制策略,光伏并网逆变器设计方案

    光伏并网逆变器设计方案与高效实现:结合matlab电路仿真、DSP代码及环流抑制策略,光伏并网逆变器设计方案:结合matlab电路文件与DSP程序代码,实现高效并联环流抑制策略,光伏并网逆变器设计方案,附有相关的matlab电路文件,以及DSP的程序代码,方案、仿真文件、代码三者结合使用效果好,事半功倍。 备注:赠送逆变器并联环流matlab文件,基于矢量控制的环流抑制策略和下垂控制的环流抑制 ,光伏并网逆变器设计方案; MATLAB电路文件; DSP程序代码; 方案、仿真文件、代码结合使用; 并联环流抑制策略; 下垂控制的环流抑制,光伏并网逆变器优化设计:方案、仿真与DSP程序代码三合一,并赠送并联环流抑制策略Matlab文件

    Matlab实现WOA-GRU鲸鱼算法优化门控循环单元的数据多输入分类预测(含模型描述及示例代码)

    内容概要:本文介绍了通过 Matlab 实现鲸鱼优化算法(WOA)与门控循环单元(GRU)结合的多输入分类预测模型。文章首先概述了时间序列预测的传统方法局限性以及引入 WOA 的优势。然后,重点阐述了项目背景、目标、挑战及其独特之处。通过详细介绍数据预处理、模型构建、训练和评估步骤,最终展示了模型的效果预测图及应用实例。特别强调利用 WOA 改善 GRU 的参数设置,提高了多输入时间序列预测的准确性与鲁棒性。 适合人群:对时间序列分析有兴趣的研究者,从事金融、能源、制造业等行业数据分析的专业人士,具备一定的机器学习基础知识和技术经验。 使用场景及目标:本项目旨在开发一个高度准确和稳定的多变量时间序列预测工具,能够用于金融市场预测、能源需求规划、生产调度优化等领域,为企业和个人提供科学决策依据。 其他说明:项目提供的源代码和详细的开发指南有助于学习者快速掌握相关技能,并可根据实际需求调整模型参数以适应不同的业务情境。

    基于vue+elment-ui+node.js的后台管理系统 .zip(毕设&课设&实训&大作业&竞赛&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    Python 实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入分类预测(含模型描述及示例代码)

    内容概要:本文介绍了Python中基于双向长短期记忆网络(BiLSTM)与AdaBoost相结合的多输入分类预测模型的设计与实现。BiLSTM擅长捕捉时间序列的双向依赖关系,而AdaBoost则通过集成弱学习器来提高分类精度和稳定性。文章详述了该项目的背景、目标、挑战、特色和应用场景,并提供了详细的模型构建流程、超参数优化以及视觉展示的方法和技术要点。此外,还附有完整的效果预测图表程序和具体示例代码,使读者可以快速上手构建属于自己的高效稳定的时间序列预测系统。 适合人群:对深度学习特别是时序数据分析感兴趣的开发者或者科研工作者;正在探索高级机器学习技术和寻求解决方案的企业分析师。 使用场景及目标:适用于希望提升时间序列或多输入数据类别判定准确度的业务情境,比如金融市场的走势预估、医学图像分析中的病变区域判读或是物联网环境监测下设备状态预警等任务。目的是为了创建更加智能且可靠的预测工具,在实际应用中带来更精准可靠的结果。 其他说明:文中提供的所有Python代码片段和方法都可以直接运用于实践中,并可根据特定的问题进行相应调整和扩展,进一步改进现有系统的效能并拓展新的功能特性。

    maven-script-interpreter-javadoc-1.0-7.el7.x64-86.rpm.tar.gz

    1、文件内容:maven-script-interpreter-javadoc-1.0-7.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/maven-script-interpreter-javadoc-1.0-7.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊

    在云服务器上搭建MQTT服务器(超详细,一步到位)

    在云服务器上搭建MQTT服务器(超详细,一步到位)

    复现改进的L-SHADE差分进化算法求解最优化问题详解:附MATLAB源码与测试函数集,复现改进的L-SHADE差分进化算法求解最优化问题详解:MATLAB源码与测试集全攻略,复现改进的L-SHADE

    复现改进的L-SHADE差分进化算法求解最优化问题详解:附MATLAB源码与测试函数集,复现改进的L-SHADE差分进化算法求解最优化问题详解:MATLAB源码与测试集全攻略,复现改进的L-SHADE差分进化算法求最优化问题 对配套文献所提出的改进的L-SHADE差分进化算法求解最优化问题的的复现,提供完整MATLAB源代码和测试函数集,到手可运行,运行效果如图2所示。 代码所用测试函数集与文献相同:对CEC2014最优化测试函数集中的全部30个函数进行了测试验证,运行结果与文献一致。 ,复现; 改进的L-SHADE差分进化算法; 最优化问题求解; MATLAB源代码; 测试函数集; CEC2014最优化测试函数集,复现改进L-SHADE算法:最优化问题的MATLAB求解与验证

    天津大学:深度解读DeepSeek原理与效应.pdf

    天津大学:深度解读DeepSeek原理与效应.pdf 1.大语言模型发展路线图 2.DeepSeek V2-V3/R1技术原理 3DeepSeek效应 4.未来展望

    光伏混合储能微电网能量管理系统模型:基于MPPT控制的光伏发电与一阶低通滤波算法的混合储能系统优化管理,光伏混合储能微电网能量优化管理与稳定运行系统,光伏-混合储能微电网能量管理系统模型

    光伏混合储能微电网能量管理系统模型:基于MPPT控制的光伏发电与一阶低通滤波算法的混合储能系统优化管理,光伏混合储能微电网能量优化管理与稳定运行系统,光伏-混合储能微电网能量管理系统模型 系统主要由光伏发电模块、mppt控制模块、混合储能系统模块、直流负载模块、soc限值管理控制模块、hess能量管理控制模块。 光伏发电系统采用mppt最大跟踪控制,实现光伏功率的稳定输出;混合储能系统由蓄电池和超级电容组合构成,并采用一阶低通滤波算法实现两种储能介质间的功率分配,其中蓄电池响应目标功率中的低频部分,超级电容响应目标功率中的高频部分,最终实现对目标功率的跟踪响应;SOC限值管理控制,根据储能介质的不同特性,优化混合储能功率分配,进一步优化蓄电池充放电过程,再根据超级电容容量特点,设计其荷电状态区分管理策略,避免过充过放,维持系统稳定运行;最后,综合混合储能和系统功率平衡,针对光伏储能微电网的不同工况进行仿真实验,验证控制策略的有效性。 本模型完整无错,附带对应复现文献paper,容易理解,可塑性高 ,光伏; 混合储能系统; 能量管理; MPPT控制; 直流负载;

    Matlab算法下的A星路径规划改进版:提升搜索效率,优化拐角并路径平滑处理,Matlab下的A星算法改进:提升搜索效率、冗余拐角优化及路径平滑处理,Matlab算法代码 A星算法 路径规划A* As

    Matlab算法下的A星路径规划改进版:提升搜索效率,优化拐角并路径平滑处理,Matlab下的A星算法改进:提升搜索效率、冗余拐角优化及路径平滑处理,Matlab算法代码 A星算法 路径规划A* Astar算法仿真 传统A*+改进后的A*算法 Matlab代码 改进: ①提升搜索效率(引入权重系数) ②冗余拐角优化(可显示拐角优化次数) ③路径平滑处理(引入梯度下降算法配合S-G滤波器) ,Matlab算法代码; A星算法; 路径规划A*; Astar算法仿真; 传统A*; 改进A*算法; 提升搜索效率; 冗余拐角优化; 路径平滑处理; 权重系数; S-G滤波器。,Matlab中的A*算法:传统与改进的路径规划仿真研究

    探索与Cursor协作创建一个完整的前后端分离的项目的最佳实践,提示词指南

    项目开发所用的主要提示词模板

    基于OpenVINO.NET实现的人脸检测。.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行;功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    电力系统暂态稳定性仿真分析:Matlab编程与Simulink模型下的各类故障影响研究,电力系统暂态稳定性仿真分析:Matlab编程与Simulink模型下的各类故障影响研究,电力系统暂态稳定性Mat

    电力系统暂态稳定性仿真分析:Matlab编程与Simulink模型下的各类故障影响研究,电力系统暂态稳定性仿真分析:Matlab编程与Simulink模型下的各类故障影响研究,电力系统暂态稳定性Matlab编程 Simulink仿真 单机无穷大系统发生各类(三相短路,单相接地,两相接地,两相相间短路)等短路故障,各类(单相断线,两相断线,三相断线)等断线故障,暂态稳定仿真分析 Simulink搭建电力系统暂态仿真模型 通过仿真,观察串联电抗器,并联补偿器,自动重合闸,以及故障切除快慢对暂态稳定性的影响 ,电力系统暂态稳定性; Matlab编程; Simulink仿真; 短路故障; 断线故障; 暂态稳定仿真分析; 仿真模型搭建; 电抗器影响; 补偿器影响; 自动重合闸; 故障切除时间。,Matlab编程与Simulink仿真在电力系统暂态稳定性分析中的应用

Global site tag (gtag.js) - Google Analytics