Module 04 · Software Architecture, Design, and Patterns
Summary & Highlights总结与要点
Congratulations! You have completed this module. At this point, you know that:
恭喜!您已完成本模块。此时,您知道:
- Software architecture functions as a blueprint and represents the importance of a good architectural design.
软件架构充当蓝图,代表着良好建筑设计的重要性。 - Structured design breaks down a software problem into well-organized smaller solution elements whereas behavioral models describe the behavior of the system without explaining how the system implements the behavior.
结构化设计将软件问题分解为有组织的较小解决方案元素,而行为模型描述系统的行为,而不解释系统如何实现该行为。 - Developing UML diagrams saves time and money by helping developers quickly get up to speed on a project, plan features in advance of coding, and navigate source code easily. Types of UML diagrams include state transition, interaction, and class diagrams.
开发 UML 图通过帮助开发者快速熟悉项目、提前规划功能以及轻松导航源代码,节省时间和金钱。UML 图的类型包括状态转换图、交互图和类图。 - Objects contain data, and they also have behaviors that prescribe the actions the object can take, whereas classes are blueprints for objects.
对象包含数据,并且它们还具有规定对象可以执行的操作的行为,而类则是对象的蓝图。 - A service-oriented architecture (SOA) consists of loosely coupled services that interface with each other via a communication protocol over a network. Distributed systems run on multiple services on different machines, but they appear to the end-user as a single coherent system.
面向服务的架构(SOA)由松散耦合的服务组成,这些服务通过网络上的通信协议相互接口。分布式系统在不同的机器上运行多个服务,但对最终用户来说,它们看起来像一个单一的连贯系统。 - An architectural pattern is a repeatable solution to an architectural problem. Types of architectural patterns include 2-tier, 3-tier, event-driven, peer-to-peer, and microservices. Two or more patterns can be combined in a single system, but some are mutually exclusive.
建筑模式是对建筑问题的一种可重复解决方案。建筑模式类型包括 2 层、3 层、事件驱动、对等和微服务。在单个系统中可以组合两种或多种模式,但有些是相互排斥的。 - Application environments include development, testing or QA, staging, and production. Production environments tend to be more complex than pre-production because they must take into account non-functional requirements like load, security, reliability, and scalability.
应用环境包括开发、测试或 QA、预生产和生产。生产环境通常比预生产环境更复杂,因为它们必须考虑非功能性需求,如负载、安全性、可靠性和可扩展性。 - Application environments can be deployed either on-premises on traditional hardware, or on public, private, or hybrid cloud platforms.
应用环境可以部署在本地传统硬件上,也可以部署在公共、私有或混合云平台上。 - Common components needed for a production environment include a firewall, a load balancer, web and application servers, proxy servers, and database servers.
生产环境中所需的常见组件包括防火墙、负载均衡器、Web 和应用服务器、代理服务器以及数据库服务器。