第二部分。让我们聊聊软件架构
本材料是“企业开发导论”系列的一部分。第一部分关于网络,见此处。软件架构指的是应用程序内部创建的结构,即整个程序的模块和组件及其相互作用。 程序员们长期致力于优秀的架构设计,因此我们听说过许多架构模式也就不足为奇了。你需要理解它们:在编写网页应用时,设计好的架构至关重要,因为网页应用比普通应用包含更多的组件和模块。 架构模式是解决软件设计问题的一种聪明方法。 你可能已经遇到过一些设计模式,比如工厂方法、抽象工厂、构建者、原型、单例,甚至其他。我们在写代码、创建类和规划类之间的互动时都会用它们。 架构模式在更高级的抽象层面上被使用,比如规划用户与服务器、数据及其他组件的交互。让我们快速看看一些模式及其使用方法。
客户端-服务器架构
这个名字给人一种关于这个图案一切都简单明了的印象。但让我们澄清一些点,这样当你开始研究春季时,你就能理解我们在说什么。 假设你写了一个聊天应用,你和朋友开始使用它。你可以采取一种非常简单的方法,通过已知的IP地址直接通过互联网发送消息:起初一切看似正常,直到你的另一位朋友请求加入聊天。 所以当你决定把共同的朋友加入聊天时,你会面临一个架构问题:每个聊天参与者都需要提供最新的用户数量和新用户的IP地址信息。而当消息发送时,必须传递给所有参与者。这些是最明显会出现的问题。代码本身还会隐藏着一大堆问题。 为了避免这些问题,你需要使用服务器,服务器会存储所有用户信息,包括他们的地址。消息只需发送到服务器。服务器又会向每个接收者发送消息。当你决定在聊天应用中添加服务器部分时,你开始构建客户端-服务器架构。
