设计和建筑有什么区别?

发布于 2024-07-16 21:42:40 字数 63 浏览 6 评论 0原文

这两个术语非常分散。 它们究竟有何不同?

有没有现实生活中的例子或场景可以阐述这种差异?

These two terms are very diffused. How exactly do they differ?

Is there any real life example or scenario that can elaborate this difference?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

葬心 2024-07-23 21:42:40

请参阅架构设计

程序的软件架构
或计算系统的结构
或系统的结构,其中
包括软件组件,
这些的外部可见属性
组件和关系
它们之间。 [...]
记录软件架构
促进之间的沟通
利益相关者,尽早记录
有关高层设计的决策,以及
允许重复使用设计组件和
项目之间的模式。

--

软件设计是一个过程
解决问题和规划
软件解决方案。 达到目的后
软件的规格是
确定后,软件开发人员将
设计或聘请设计师开发
解决方案的计划。 这包括
低级组件和算法
实施问题以及
架构视图。

——

所以它们彼此共享部分,但它们所指的软件方面略有不同。 从技术上讲,架构应该包括所有方面,但实际上它们通常指的是高层软件的拓扑或结构。
例如,决定是否将系统实现为基于文件的命令行软件、Web 应用程序或 n 层 富互联网应用程序将是一个架构决策。

软件设计包括做出架构决策,但它还包括更深层次的决策,例如数据库中应该有多少个字符address1,这并不是真正的架构决策。

编辑
为了简化差异,架构是指软件解决方案的已知模式,通常涉及子组件/层/层之间的放置和关系。 这些模式还指定数据存储、处理和呈现的方式和位置。
架构是可以使用方框和箭头来描述的东西,例如自主机器人范例

软件设计是针对给定软件需求思考解决方案的过程。 每个问题都有其独特的方式,因此设计也会有所不同。

See architecture and design.

The software architecture of a program
or computing system is the structure
or structures of the system, which
comprise software components, the
externally visible properties of those
components, and the relationships
between them. [...]
Documenting software architecture
facilitates communication between
stakeholders, documents early
decisions about high-level design, and
allows reuse of design components and
patterns between projects.

--

Software design is a process of
problem-solving and planning for a
software solution. After the purpose
and specifications of software are
determined, software developers will
design or employ designers to develop
a plan for a solution. It includes
low-level component and algorithm
implementation issues as well as the
architectural view.

--

So they share parts with each other, but they refer to slightly different aspects of software. Technically speaking, architecture should include all aspects, but in reality they usually refer to high level topology or structure of software.
For example, making decision about whether to implement a system as a file-based command line software, a web app, or an n-tier rich internet application would be an architectural decision.

Software design includes making architectural decisions, but it would include much deeper ones like how many characters address1 should be in a database, which is not really an architectural decision.

Edit:
To simplify the difference, architecture refers to known patterns of software solution, often involving placement and relationships between subcomponents/tiers/layers. The patterns also specify how and where the data is stored, processed, and presented.
An architecture is something that could be described using boxes and arrows, such as autonomous robotic paradigms.

The software design is a process of thinking about solutions to the given software requirements. Each problem is unique in its own ways, so design would be different.

顾北清歌寒 2024-07-23 21:42:40

在我的理解中,设计更具体于一个系统。 两个系统可以具有相似的设计,但共享相同的架构。

因此,设计定义了如何将所选架构应用于给定的需求。 (或类似的东西)

但这更多的是我的感觉,所以我对其他答案感兴趣......

In my understanding, design is more specific to one system. Two systems could have a similar design but share the same architecture.

So a design defines how a chosen architecture is applied to the given requirements. (or something like this)

But this is more a feeling of mine, so I'm interested in other answers ...

傲性难收 2024-07-23 21:42:40

可以这样想:为了建造一座房子,你从建筑师(建筑师)那里得到一份蓝图。 然后建造者使用这个蓝图并决定(设计师)需要多少根柱子,使用什么样的水泥和砖,需要进行什么类型的着色等。这些都是设计决策。 然后工人接受建筑商的订单并建造房子(编码器)。

Think of it this way: for building a house, you get a blueprint from architect (Architect). Then constructor use this blueprint and makes decision (Designer) on how many columns are required what kind of cement and bricks to use, what type of coloring needs to be done etc. These are design decision. Then worker takes order from builder and construct the house (Coder).

倦话 2024-07-23 21:42:40

我对此的看法..

  • 设计是规划的过程
    你将如何构建你的
    软件

  • 架构是如何实现的现实
    你的代码库是结构化的。 如果
    你的代码没有结构化
    不能真正声称拥有
    架构。

理想情况下,您可以从设计阶段(或代码库生命周期中的一系列设计阶段)获得架构,但有时好的架构可以来自重构的持续增量改进,以及做“正确”事情的感觉。

不过,这些都不是正式定义的词;)

my take on this..

  • Design is the process of planning
    how you're going to structure your
    software

  • Architecture is the reality of how
    your codebase is structured. If
    your code is not structured you
    can't really claim to have an
    architecture.

Ideally you'd get your architecture from a design phase (or series of design periods during a codebases lifetime), but sometimes good architecture can come from continuous incremental improvements from refactoring, and just a sense of doing what is 'right'.

These aren't formally defined words though ;)

丑丑阿 2024-07-23 21:42:40

体系结构是指计算机或基于计算机的系统的概念结构和逻辑组织。

设计是指在系统或物体制造之前为显示其外观、功能或工作原理而制作的计划或绘图。

如果您正在“构建”一个组件,您就是在定义它在更大系统中的行为方式。 如果您正在“设计”相同的组件,那么您正在定义它的内部行为方式。

所有的建筑都是设计,但并非所有的设计都是建筑。

How 部分是设计,WhatHow 的交集是架构
区分架构和设计的图像

还有一些设计决策,在架构上不重要,即不属于架构分支设计。 例如,某些组件的内部设计决策,例如算法的选择、数据结构的选择等。任何在组件边界之外不可见的设计决策都是组件的内部设计,并且是非体系结构的。 这些是系统架构师将由模块设计者或实施团队自行决定的设计决策,只要他们的设计不打破系统级架构所施加的架构约束即可。

该链接提供了很好的类比

Architecture means the conceptual structure and logical organization of a computer or computer-based system.

Design means a plan or drawing produced to show the look and function or workings of a system or an object before it is made.

If you are “architecting” a component, you are defining how it behaves in the larger system. If you are “designing” the same component, you are defining how it behaves internally.

All architecture is design but NOT all design is architecture.

How part is the Design and the intersection of What and How is Architecture
Image for differentiating Architecture and Design

There are also design decisions, that are not architecturally significant, i.e. does not belongs to the architecture branch of design. For example, some component’s internal design decisions, like- choice of algorithm, selection of data structure etc. Any design decision, which isn’t visible outside of its component boundary is a component’s internal design and is non-architectural. These are the design decisions a system architect would leave on module designer’s discretion or the implementation team as long as their design don’t break the architectural constraints imposed by the system level architecture.

The link that gives a good analogy

溺深海 2024-07-23 21:42:40

架构是设计出来的。 但反之则不然。 “架构”通常用于识别和命名大型(多层)系统的设计。 根据定义,系统是多个组件或子系统的协作。 人们可能称其为“系统设计”或简称为“设计”,但由于某种原因,架构赋予了它更公正的权重,因为它寻求与其子系统或组件的设计有所不同。

Architectures are designed. But not the other way around. 'Architecture' is typically used to identify and name the design of a large (multi-tier) system. A system is by definition the collaboration of multiple components or subsystems. One may call it 'system design' or just 'design', but architecture, for one reason or another, gives it a more just weight as it begs to differ from the design of its subsystems or components.

只想待在家 2024-07-23 21:42:40

架构是组件以及它们之间的关系。 例如,当您从一千米高处观看建筑物时,您只能看到连接的路径和房间。 但房间内部的内容在设计中有所描述。

Architecture is components and the relationship between them. E.g when you see a building from one thousand meter height you can only see connecting paths and rooms. But what is inside the room it is described in the design.

时光病人 2024-07-23 21:42:40

设计是计划你将如何做到这一点。 架构师是你如何实施的。
一、从所处阶段、职责范围和决策层次来看
2.架构是框架、工具、语言、范围、目标和高级方法方面的大局,而设计是实现方法的小局,对系统不同部分的外观、设计模式、编程有局部限制习语、重构和 代码是如何组织的。
3.建筑面向更高层次的策略、结构和目的。 设计是战术性的,面向实施和实践,更面向具体。

design is a planning how you are going to do that. Architect is how you have implemented.
1.In terms of their stage, areas of responsibility and the levels of decision making
2.Architecture is the bigger picture in terms of frameworks, tools, languages, scope, goals and high level methodologies while design is the smaller picture of implementation methodology, with local constraints of how different parts of the system will look, design patterns, programming idioms, refactoring's & how code is organized.
3.Architecture faces towards strategy, structure and purpose which is at higher level. Design is tactical and faces towards implementation and practice, more towards the concrete.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文