系统架构师练习论文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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值