时间:2021-05-02
架构设计是门艺术。
一个优秀的程序员要想成为一名优秀的架构设计师,就改变编程的思维,学会使用架构设计的思维方式。
架构设计的思维方式有以下几种:
1. 分而治之的思维方式
分而治之,是把一件笼统模糊的事项变得清晰,把复杂的事项变得简单的思维方式。而这正是我们进行架构设计首要达成的目标。
架构设计师必须要学会架构分解,将软件的功能和非功能需求在架构的多个层面进行分解。
架构分解的时机要恰当,不要过早分解、也不要过度分解,通常的分解时机就是架构构造和演变时。
架构分解应当遵循以下原则:
2. 聚而合之的思维方式
分而治之的目的是降低难度,但软件的设计和实现最终还是要将分解的各个元素组合在一起。所以,不能为了分解而分解,在分解的过程中也要考虑将来的集成。毕竟如果分解后的内容无法集成在一起,分解得再详细,再清晰也没有任何意义。
3. 动静分离的思维方式
动静分离的思维方式要求将系统中的静态资源与动态资源分离,同时又要注意二者结合的架构设计。因为动态的流程和用例无法离开静态的数据和类就能自行完成的。
4. 复用的思维方式
复用是最佳的软件工程实践,没有之一。复用可以给我们带来以下好处:
所以,我们在进行架构设计时也需要使用复用思维,将各个模块需要用到的共性功能抽取为可复用的共性组件。
我们可以将复用分为常规复用和系统层复用。
其中常规复用又可分为代码复用、算法复用、数据结构的复用;系统层复用又可分为设计复用、分析复用。
5. 分层的思维方式
分层是将各架构元素通过分层重新构建的过程,各层之间要保持独立设计和松耦合。
分层的思维方式可以使软件架构具有如下优点:
6. 模式的思维方式
架构模式是一套成熟的、通用的、可重用的解决方案,在进行架构设计时,架构设计师要能够根据业务需求来挑选最适合的架构模式。
架构模式一般有分层模式、客户端-服务器模式、主从设备模式、管道-过滤器模式、代理模式、P2P模式、事件总线模式、MVC模式、黑板模式和解释器模式等。
7. 抽象的思维方式
抽象包括两个层面的内容:一个层面是将各种类似场景的实现归纳成一种规则或方法出来供以后的设计用;另一个层面是将非类似场景中的共性内容总结出来,进一步抽象为类似的东西。
8. 结构化的思维方式
结构化是一种注重结构完整性的思维方式,它强调在分析问题的过程中,要考虑整体性,不要马上陷入细节。结构化思维的核心在于对问题进行正确界定的基础上(以终为始),对问题的构成要素进行合理分类,并对其中的重点环节进行分析(要事第一)。
结构化应遵循以下原则:
9.迭代的思维方式
没有最好,只有更好。架构设计也要随着业务需求的变化不断迭代和演化。
这正是:
原文地址:https://mp.weixin.qq.com/s/jBM15zSDA9YdwQmvf4TptA?utm_source=tuicool&utm_medium=referral
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
开启Tomcat源码调试因为工作的原因,需要了解Tomcat整个架构是如何设计的,正如要使用SpringMVC进行Web开发,需要了解Spring是如何设计的一
Celery(芹菜)是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。架构设计Celery的架构由三部分组
电商网站建设开发是为了制造一个提供给用户了解企业文化、产品详情和交易的平台,功能丰富而强大,一般来说,网站的栏目和内容会特别多,怎么进行网站架构设计和业务逻辑的
引言目前很多系统为了解决数据读写的性能瓶颈,在系统架构设计中使用Redis实现缓存,Spring框架为了让开发人员更加方便快捷的使用Redis实现缓存,对Red
什么是多租户网上有好多解释,有些上升到了架构设计,让你觉得似乎非常高深莫测,特别是目前流行的ABP架构中就有提到多租户(IMustHaveTenant),其实说