怎样使用设计模式的一点见解。

wwxxdd 2003-04-29 05:28:21
面向对象设计的优点是为软件模型和现实模型提供了一个好的路径。在现实中,我们只有协调好各种不同对象之间的关系,才能让对象之间友好的相处。在软件中,我们同样也需要这种协调。设计模式就是协调这种关系的一些已证明的在某些情境下可用的较优解决方法。
举个例子,人生病了(当然,最好不是SARS)要去医院,如果是日常小病,随便找个医院,如果是某种特殊的病,就会去选择治这种特殊病的医院。这时,人会先估计自己的病,然后找到相应种类较合适的医院(可以查地图或其它)。这在软件中,是策略模式的体现。因为人最初只是和抽象的医院建立关系,而非某一具体医院,只在确定自己的病种类后,才选择具体的医院。而我们查自己所需的医院时,可以是自己知道的,也可以是查地图,还可以是问别人的,这种获取医院地址的方法显然可以用工厂模式来解决。
将软件之间的关系处理得像在日常中的事物的关系一样的融洽,这或许是面向对象设计的终极目标。
...全文
104 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gucs 2003-05-30
  • 打赏
  • 举报
回复
学习

=================

一代过去,一代又来,地却永远长存。日头出来,日头落下,急归所出之地。
风往南刮,又往北转,不住的旋落,而且返回转行原道,江河都往海里转,海
却不满,江河从何处流,仍归何处。
wwxxdd 2003-05-10
  • 打赏
  • 举报
回复
我觉得,如果你把现实模型中的事物和软件对象中的类强行去类比,肯定这种映射是行不通的。其实,重要的是将软件模型中的类和现实模型中的事物同时向上抽象,找出其中关系的共性。因为现实模型中的事物的耦合关系是经无数代人的经验证明,其耦合性是很合理的。
因此,并不是将现实模型强行和软件模型来一一映射,而是将现实模型中事物关系的特点作为软件中抽象到一定层次中类之间优劣关系的判断原则,这种判断方法是非常可行的,如果你理解到一定程度,不妨试一下。
gameboy999 2003-05-09
  • 打赏
  • 举报
回复
模式是前人和强人总结的成功经验,不学为己用,岂不是太亏
有兴趣的可以看看这个,挺不错的
http://www.jdon.com/designpatterns/index.htm
liyi2226781 2003-05-09
  • 打赏
  • 举报
回复
UP
pig345 2003-05-09
  • 打赏
  • 举报
回复
严重同意 hoper1()
hoper1 2003-05-07
  • 打赏
  • 举报
回复
将软件系统与现实世界作类比,是一种很好的意境,但不是贴切的方法。
面向对象设计的关键在于合理地抽象出类和类之间的接口。而实际上,抽象出的类与现实世界的东西往往是不同的。如果软件系统和现实系统是一个映射关系的化,这个软件系统根本不可能有稳定的架构。
存在一些错误观念的根本原因是大家为了说明面向对象的概念,往往举一些猫呀狗呀的例子。
引用《设计模式》中的一句话:
虽然设计的很多对象来源于现实世界的分析模型。但设计结果所得到的类通常在现实世界并不存在。
nettman 2003-05-06
  • 打赏
  • 举报
回复
是呀!
OO技术能够更好的反映现实世界!
asiaec 2003-05-06
  • 打赏
  • 举报
回复
面向对象的核心就在于: 实现软件系统和现实系统较好的映射关系
内容概要:本文针对传统三电平并网逆变器存在的谐波含量高、电网不平衡工况适应性差及动态响应滞后等问题,提出了一种基于有源中点箝位(ANPC)三电平逆变器的高性能并网控制策略。该策略融合了双极性倍频脉宽调制(DPWMA)、正负序分离锁相技术和电网电压前馈控制,构建了“精准同步-扰动补偿-优质调制”的一体化控制体系。通过Simulink搭建仿真模型,在稳态对称、电网不平衡及动态扰动等多种工况下进行验证,结果表明该复合控制策略能显著降低并网电流谐波,提升锁相精度,有效抑制功率波动,并大幅缩短系统动态调节时间,增强了逆变器在复杂电网环境下的稳定性与适应性。; 适合人群:从事电力电子、新能源并网、智能电网等相关领域的科研人员及工程技术人员,尤其适合具备一定MATLAB/Simulink仿真基础、专注于并网逆变器控制策略研究的研发人员; 使用场景及目标:①用于提升大功率并网逆变器在电网电压不平衡、骤升骤降等非理想工况下的运行性能;②为ANPC拓扑结构与先进控制算法(如DPWMA、前馈-反馈复合控制)的协同优化提供仿真依据和技术参考;③适用于新能源发电系统、工业变流装置等对电能质量和动态响应要求较高的应用场景; 阅读建议:建议读者结合文中提出的控制架构图与仿真模型逐步复现,重点关注DPWMA调制实现、正负序分离锁相环设计及前馈补偿环节的参数整定,同时通过多工况仿真对比分析各项性能指标,深入理解各模块间的协同作用机制。
内容概要:本文以ANPC三电平并网逆变器为研究对象,提出了一种融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相与电网电压前馈控制的高性能并网控制策略。通过对ANPC拓扑结构的分析,阐明其在开关损耗均衡、中点电位稳定和低输出谐波方面的硬件优势,为高质量并网奠定基础。在此基础上,DPWMA调制策略有效提升输出波形的等效开关频率,显著降低谐波含量;正负序分离锁相技术可精准提取电网正序分量,克服电网不平衡导致的锁相失真与电流不对称问题;电网电压前馈控制则增强系统对动态扰动的响应能力,缩短调节时间。文章构建了“信号采集—核心控制—调制驱动”的三层协同控制架构,并通过多工况仿真验证了该策略在稳态、不平衡及动态扰动条件下的优越性能,结果表明系统具备优异的电能质量、运行稳定性与抗扰能力。; 适合人群:电力电子、新能源并网、自动控制等相关领域的科研人员、研究生及从事逆变器设计与控制的工程技术人员。; 使用场景及目标:① 提升大功率并网逆变器在复杂电网环境下的运行稳定性与电能质量;② 解决电网电压不平衡、谐波畸变、电压骤变等工况下的锁相失真与电流不对称问题;③ 优化动态响应性能,应用于新能源发电、工业变流器等高可靠性要求场景; 阅读建议:建议结合Matlab/Simulink仿真平台,复现文中控制策略与仿真模型,重点理解DPWMA调制实现方法、正负序分离锁相环设计及前馈-反馈复合控制结构的协同机制,并通过不同扰动工况测试系统鲁棒性。
内容概要:本文研究了基于Q-Learning自适应强化学习的PID控制器在自主水下航行器(AUV)运动控制中的应用,旨在提升水下机器人在复杂、非线性及动态变化海洋环境中的控制精度与自适应能力。通过将强化学习算法与传统PID控制深度融合,构建了一种能够在线自主调整PID参数的智能控制框架,有效克服了传统PID控制器在面对模型不确定性、外部干扰和时变系统特性时适应性不足的问题。研究详细阐述了AUV的动力学建模过程,并精心设计了Q-Learning算法的状态空间、动作空间与奖励函数,使其能在Matlab仿真环境中通过不断的交互试错进行学习与优化,最终实现对航向角、深度等关键运动姿态的高精度、强鲁棒性控制。仿真结果充分验证了该方法在响应速度、稳态精度和抗干扰性能方面相较于传统方法的显著优越性,为智能水下装备的自主决策与控制提供了重要的理论依据和技术路径。; 适合人群:具备自动控制理论基础、强化学习初步知识及MATLAB编程能力的研究生、科研人员及从事智能机器人、无人系统控制开发的工程师。; 使用场景及目标:①应用于水下机器人、无人潜航器等复杂动态系统的智能控制设计;②解决传统PID控制器参数整定困难、环境适应性差和鲁棒性不足的关键问题;③推动强化学习等人工智能技术在实际工程控制系统中的落地应用、性能优化与可靠性验证。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,重点关注Q-Learning与PID的耦合机制、状态量与奖励函数的设计原则,深入理解智能控制策略的训练收敛过程、超参数敏感性及其在不同工况下的性能表现。

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧