-5

有人可以解释一下架构设计与高级设计之间的区别吗?

如果您通过示例进行解释,将对我有所帮助:假设我想构建简单的android在线购物应用程序,那么我应该在我的架构设计和高级设计中添加什么?

我有以下高级要求:

Login
Settings
Search
Cart
Billing
4

2 回答 2

3

似乎您在问两个问题:-

  1. 术语建筑设计高级设计之间的区别
  2. 我的 android 购物应用程序设计会是什么样子

我会回答第一个,但你不太可能让别人给你第二个。最好用谷歌搜索想法。

建筑设计

你需要对这些不同类型的架构有一个基本的了解,然后你就会明白为什么这个问题太笼统了

  • 企业架构
  • 解决方案架构
  • 应用架构
  • 网络架构
  • 安全架构
  • ……还有更多……

高级设计

这是一个非常广泛的术语,您可能会得到无数个定义,但一个常见的定义是仅显示系统中的组件的设计(系统可能非常大或非常小)。由于您似乎在询问您的购物车应用程序的应用程序架构,这意味着您可能有一个图表,显示如下内容,但没有显示每个内容的实现细节:-

  • 代码中的主要类/接口
  • 某种持久性存储
  • 缓存
  • 您的应用程序与之交互的远程系统
于 2016-10-22T14:58:00.487 回答
0

高级设计 (HLD) 比架构更具体。

架构是关于考虑各种约束并做出明智的决策,例如:

  • 使用哪种技术。
  • 系统质量属性(例如性能、可用​​性、安全性、可用性等),以及这些属性的相对优先级是什么(与非功能性需求相关联)。
  • 确保解决方案在运行后能够得到很好的支持。
  • 使解决方案与组织的技术战略或企业架构等保持一致。

高级设计即将开始使架构成为现实:

  • 从逻辑上定义系统的组件,它们的角色是什么,以及它们如何相互关联。
  • 提及命名技术,例如调用您选择的技术堆栈中需要使用的特定部分,您将使用哪些特定框架或第 3 方库。
  • 调出您需要集成的特定业务线系统及其特定 API。

因此,以您为例,架构可能会定义:

  • 你正在构建一个 android 应用程序来购物。
  • 它将显示的数据将来自一些在线服务。
  • 设备上存储了哪些数据(如果有) - 例如用户偏好。
  • 用户可以使用社交媒体(例如 Google)进行身份验证。

...因此 HLD 应定义:

  • 您将针对/支持的特定 android 版本、特定依赖项等。
  • 数据服务的确切位置、确切的位置、它们将提供的数据对象和值。
  • 您需要存储在设备上的任何数据的逻辑数据设计(可能是字段级别)。
  • 有关您将如何通过社交媒体提供商执行身份验证、要使用的代码库等的细节。
于 2021-07-04T23:40:01.013 回答