架构整洁之道-01 设计与架构

简介: 设计:实现业务时的详细的设计,比如模块的依赖设计,业务逻辑设计,前端页面的设计。更偏向于细节内容的设计- 架构:类似搭建房子一样,先有房子的形状、布局等,一个项目的架构那就是各个模块依赖关系,或者说结构。未来设计方向的一个框架。

前言

近期准备精读《架构整洁之道》这本书。从架构目标分析学习相关设计原理。也刚好自己的近期工作的内容有可参考的案例。

设计与架构是什么?

设计是什么?架构是什么?你内心的答案是什么?在我还没开始精读这本书之前,我的理解是:

  • 设计:实现业务时的详细的设计,比如模块的依赖设计,业务逻辑设计,前端页面的设计。更偏向于细节内容的设计
  • 架构:类似搭建房子一样,先有房子的形状、布局等,一个项目的架构那就是各个模块依赖关系,或者说结构。未来设计方向的一个框架。

书中谈到,“架构” 常用于高层的上下文中,而不在低层的细节。但“设计”往往意味着低层的结构和决定。在软件设计中,低层细节和高层决定也是软件设计的一部分。它们形成一个连续的结构,定义了系统的形状。它们之间没有明确分界线。

所以,高层决定细节的方向,但从低层细节设计也看到其决定了高层架构的方向。低层细节和高层决定都是设计的一部分。

什么样的设计是好的?最终的决定目标是什么?

软件架构的目标是什么?

软件架构的目标是最小化需要构建和维护系统的人力资源

客户需求的变化总是多样的。设计质量的衡量可以通过你为客户需求所需努力来体现。如果需求让你人力和时间投入比较少,那么设计是好的,如果需要努力很多,那么设计是不好。

最好的设计和架构,就是构建的系统付出最小的努力而收益是最大的。

功能和架构,哪个更重要?

对于产品经理,他们经常觉得软件系统能工作更重要,但是对于开发者,有责任判断架构对功能紧迫性的重要性。

目录
相关文章
|
6天前
|
前端开发 Java 测试技术
使用整洁架构优化你的 Gradle Module
使用整洁架构优化你的 Gradle Module
44 0
|
7月前
|
存储 Go 数据处理
Go 语言整洁架构实践
Go 语言整洁架构实践
56 0
|
Java 网络架构 容器
面向整洁对象的分层架构COLA 4.0
COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“面向整洁对象的分层架构”。 目前COLA已经发展到COLA 4.0。 COLA分为两个部分,COLA架构和COLA组件。
面向整洁对象的分层架构COLA 4.0
|
12月前
|
存储 JSON 自然语言处理
「领域驱动设计」DDD,六边形架构,洋葱架构,整洁架构和CQRS的整合(下)
「领域驱动设计」DDD,六边形架构,洋葱架构,整洁架构和CQRS的整合
|
12月前
|
存储 搜索推荐 NoSQL
「领域驱动设计」DDD,六边形架构,洋葱架构,整洁架构和CQRS的整合(上)
「领域驱动设计」DDD,六边形架构,洋葱架构,整洁架构和CQRS的整合
|
12月前
|
存储 搜索推荐 NoSQL
「领域驱动设计」DDD,六边形架构,洋葱架构,整洁架构,CQRS的整合架构
「领域驱动设计」DDD,六边形架构,洋葱架构,整洁架构,CQRS的整合架构
|
架构师
架构整洁之道-08 设计原则-依赖倒置原则DIP
依赖倒置原则的定义:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。
110 0
架构整洁之道-07 设计原则-接口隔离原则SIP
接口隔离原则 Interface Segregation Principle,ISP - 客户端不应该依赖它不需要的接口 - 类间的依赖关系应该建立在最小的接口上
100 0
架构整洁之道-06 设计原则-里氏代换LSP
里氏替换原则 Liskov Substitution Principle,LSP Inheritance should ensure that any property proved about supertype objects also holds for subtype objects 继承必须确保超类所拥有的性质在子类中仍然成立。
91 0
|
关系型数据库 中间件 测试技术
架构整洁之道-05 设计原则-开闭原则OCP
开闭原则 Open Closed Principie ,OCP 软件实体的行为应当不是修改实体,而是对实体进行扩展。
110 0