笔记

1、OOP:一切皆对象,对象交互组成功能,功能叠加组成模块,模块叠加组成系统。

      类--砖头     系统--房子

                类--细胞     系统--人

                面向对象是非常适合做大型系统

               缺点: 应对需求变化扩展的时候,比较困难;

                面向对象是静态的:任何需求的细微变化,都可能导致比较大的影响

2、 设计模式:设计出灵活 可扩展 可重用 的架构    可以解决部分问题

    都在折腾抽象/类

3、AOP:面向切面编程  编程思想  

           就是解决类的内部变化问题

      能做到让开发者动态的修改一个静态的面向对象模型,

      在不破坏封装的前提下,去增加各种功能:非业务逻辑,是一些公共逻辑

                是对OOP的有效补充

           有了AOP之后,OOP也变得简单了

4、IOC:(DIP)依赖倒置:系统架构时,高层模块不应该依赖底层模块,二者通过抽象来依赖。依赖抽象,而不是细节。

               通过工厂

    IOC控制反转:把高层对低层的依赖,转移到第三方决定,避免高层对底层的直接依赖,是一种目的。程序架构具备良好的扩展性和稳定性。

              DI 依赖注入:是用来实现Ioc的一种手段

原文地址:https://www.cnblogs.com/youmingkuang/p/9638473.html