English 中文(简体)
设计和建筑之间有什么区别?
原标题:
  • 时间:2009-03-29 06:51:05
  •  标签:

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

有没有任何真实的例子或场景可以阐述这个区别?

最佳回答

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

因此,设计定义了某个选定的架构如何应用于给定的需求。

但这更像是我的感觉,因此我对其他答案很感兴趣...

问题回答

架构设计

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.

I'm sorry, but you haven't provided any text to be translated into Chinese. Please provide the text and I'll be happy to assist you.

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.

I'm sorry, but you haven't provided any text to be translated into Chinese. Please provide the text and I'll be happy to assist you.

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.

软件设计包括制定架构决策,但其中还应包括更深入的决策,比如数据库中 address1 应包含多少个字符,这并不是真正的架构决策。

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.

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

以这样的方式来考虑:建造房屋时,从建筑师(Architect)那里获得蓝图。然后承包商使用这个蓝图并做出决定(Designer),包括需要多少柱子,使用什么样的水泥和砖块,需要进行什么类型的着色等。这些都是设计决策。然后工人接受建筑商的指令并建造房屋(Coder)。

我的看法是…

  • 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.

理想情况下,您应该从设计阶段(或代码库寿命期间的一系列设计周期)中获得您的体系结构,但有时良好的体系结构可以来自于持续的增量改进,包括重构和对正确事情的直觉感。

这些词汇没有正式的定义 ;)

建筑意味着计算机或基于计算机的系统的概念结构和逻辑组织。

设计是指在制作之前制作的计划或图纸,用于展示系统或物体的外观、功能或运作方式。

如果你正在“架构”一个组件,你正在定义它在较大系统中的行为。如果你正在“设计”同样的组件,你正在定义它内部的行为。

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

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

还有一些设计决策,它们不具有建筑重要性,即不属于设计的建筑分支。例如,一些组件的内部设计决策,如算法的选择、数据结构的选择等。任何不在其组件边界之外可见的设计决策都是组件的内部设计,不属于建筑。这些是系统架构师会留给模块设计人员自行决定或实施团队的设计决策,只要它们的设计不违反系统级架构强加的架构约束即可。

提供一个好比喻的链接

建筑是被设计的,而不是反过来。建筑通常用于确定和命名大型(多层)系统的设计。一个系统根据定义是多个组件或子系统的协作。可以称之为系统设计或仅仅是设计,但建筑设计,由于某种原因,赋予它更公正的权重,因为它与其子系统或组件的设计不同。

建筑学是组件以及它们之间的关系。例如,当您从一千米高度看到一座建筑时,您只能看到相连的道路和房间。但房间内部的设计是描述在其中的。

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.





相关问题
热门标签