这是我参与「第五届青训营」伴学笔记活动的第六天
什么是架构:
架构又称软件架构,是有关软件整体结构与组织的抽象描述,用于指导软件系统各方面的设计。
架构的演讲初衷好比做蛋糕:
需求量越来越大,需要更多的人手
越做越复杂,需要分工合作。
架构的演进思路:
垂直切分
水平切分
C10K问题:服务器如何同时处理1万个并发连接,网络服务器同时处理1万个客户端。
云计算:通过软件自动化的管理,提供计算资源的服务网络,是现代互联网大规模数据分析和存储的基石。
架构分析:
1.IaaS
2.PaaS
3.SaaS
4.FaaS
依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
Spring架构:Spring是一个一站式重量级的开发框架,目的是为了解决企业级应用开发的复杂性,它为开发Java应用程序提供全面的基础架构支持,让Java开发者不再需要关心类与类之间的依赖关系,可以专注的开发应用程序(crud)。
Spring为企业级开发提供给了丰富的功能,而这些功能的底层都依赖于它的两个核心特性:依赖注入(DI)和面向切面编程(AOP)。
IOC容器:IoC的全称为Inversion of Control ,意为控制反转,IoC也被称为依赖性注入(DI),这是一个通过依赖注入对象的过程:对象仅通过构造函数、工厂方法,或者在对象实例化在其上设置的属性来定义其依赖关系(即与它们组合的其他对象),然后容器在创建bean时注入这些需要的依赖。这个过程从根本上说是Bean本身通过使用直接构建类或诸如服务定位模式的机制,来控制其依赖关系的实例化或位置的逆过程(因此被称为控制反转)。