系统架构师练习论文1:论设计模式在系统架构中的应用

本文分为知识点总结、写作思路、完整论文三部分。知识总结部分如果不小心侵权,请联系删除,谢谢。

知识点总结

架构设计就是:确定系统有哪些组件,它们之间有什么交互,以及未来可能发生什么变化;然后决定如何去应对变化。也就是说,在架构设计中最重要的事情就是要“隔离变化”。

所以,设计模式是架构设计与编码实现之间的一个桥梁。要让设计的架构能适应变化,就是要预见组件之间的交互接口和编码实现将来可能发生什么变化,并对此做出正确的决策:采用正确的设计模式去封装变化。可以将交互接口或编码实现前后的变化分为4大类。下面将分别给出有效的决策方案,即:指明了关键类设计模式的“灰包图”。

交互接口或编码实现前后的变化

  1. 相似接口,相同功能

在做架构设计时,根据需要设计出的接口可能与现有代码不相同;或者想暂时使用第三方的SDK实现,将来可能会改为自己实现。为了重用代码、隔离变化,可以运用ADAPTER模式去匹配接口;将变化封装在一个独立的Component内。将来就算第三方的SDK发生了变化或替换为自己的新代码,我们都只需重写Adapter类,影响范围也仅限于Component。这种情景类似于通过USB转换头去匹配不同大小的USB接口。

2 不同接口,相似功能

在做架构设计时,很多软件都要求支持跨平台。虽然有可能各个开发平台的已经有相似的功能,但他们的工作方式和开发接口却有可能完全不同;不能使用上述ADAPTER模式去解决。在这种情况下,可以按软件本身的需求抽象出相关的功能接口(如IWindow、I3DWindow和IFaceWindow);然后再使用BRIDGE模式充分重用平台已有的功能,同时又做到了隔离变化,将平台相关的代码限制在单独的一个Platform包中。

3 增替“实现”

有时做架构设计时,会预见到将来也许需要调整或增加某些功能。比如原来保存功能默认是保存成纯文本格式,将来可能要让它支持保存成RTF、HTML等;或者字符串原来是用IDEA加密,将来要换成DES加密等等。这种情景下,关键是要分离接口与实现;可以运用STRATEGY模式解决。

4 精简接口

在做架构设计时,有时也能预见到系统中对象的数目会不断增加。那么两两之间的交互数就会急剧上升,彼此间的依赖关系也将变得非常复杂。为了限制或控制对象之间的交互,可以利用FACADE模式将相关的对象封装成包、模块或子系统,加大组件的粒度、降低耦合;从而增加架构的灵活性,适应变化。


23种设计模式

总结出的主流设计模式共有23种,分为三大类:创建型模式、结构型模式、行为型模式

1、创建型模式:

对象实例化的模式,创建型模式用于解耦对象的实例化过程。

单例模式

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统架构师论软件可靠性设计,CSDN (国软件开发者社区) 扮演着重要的角色。CSDN作为一个技术社区,为架构师们提供了交流、分享以及学习软件可靠性设计的平台。 首先,CSDN为架构师们提供了广泛的论坛、博客和专栏,架构师们可以通过这些平台与其他专业人士进行讨论和交流。通过与业界同行分享经验和互动,架构师可以了解到不同软件可靠性设计方面的实践和研究成果,并从汲取灵感和知识。 其次,CSDN提供了大量的技术文章和教程,帮助架构师们深入理解软件可靠性设计的原理和方法。这些文章往往由业内专家或具有丰富经验的开发者撰写,内容包括软件架构、错误处理、故障容错等方面的知识。架构师们可以通过阅读这些文章,了解到最新的软件可靠性设计思想和技术,从而指导他们在实践设计更可靠的软件系统。 此外,CSDN还提供了一系列在线课程和技术培训,帮助架构师们提升软件可靠性设计的能力。这些课程涵盖了软件工程、系统设计、质量保障等方面的知识,为架构师提供了系统学习和深入研究可靠性设计所需的资源。 总的来说,CSDN为系统架构师论软件可靠性设计提供了一个重要的平台。通过CSDN,架构师们可以与其他专业人士交流和分享经验,获取最新的可靠性设计知识,提高软件系统的可靠性和可用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值