`

回调函数、模板方法和控制反转(IoC)

阅读更多

   在早期win32 GUI编程中,应用程序会传递一个消息处理函数指针给底层框架,底层框架在执行消息循环的时候,调用上层程序传递的消息处理函数,这样GUI框架已经不再依赖应用程序了,这种动态调用机制就是回调函数。

模板方法模式就是面向对象领域中的回调函数,通过模板方法,可以使得程序的主控流程都在底层框架,而程序只需要继承实现框架的一些类就可以打造一个完整的程序了。典型的例子还有java XML SAX API。这种情况下程序的主控权从主程序移到了框架,这就实现了所谓的控制反转(IoC),所有的框架都会实现IoC,这是框架的基础。

 

依赖倒置可以减弱应用程序到框架的依赖,而控制反转可以减弱框架到程序的依赖。

 

注:框架是半成品的应用程序,而类库是一系列可由应用程序调用的类

分享到:
评论

相关推荐

    王者归来之达内内部绝密Spring课件.doc

    此外,Spring还提供了一些其他的便利功能,如JDBC模板回调,用于简化数据库操作,以及对Bean工厂的扩展(ApplicationContext),以支持事务和国际化。Spring框架下的Web MVC和Spring Web模块为Java Web应用程序提供...

    spring 2.5 PPT

    Spring通过构造函数、setter方法或接口回调等方式,将依赖对象实例化后注入到需要它们的组件中,使得组件可以在运行时动态获取依赖,无需手动创建和管理。 3. **面向切面编程 (Aspect-Oriented Programming, AOP)**...

    Spring框架,学习笔记,很优秀的资料

    - **DI(Dependency Injection,依赖注入)**:是IoC的具体实现方式,通过构造函数、设值注入或接口回调等方式,将依赖的对象传入到需要它们的类中,降低了耦合度。 3. **Spring框架的主要模块** - **Core ...

    spring面试问答.pdf

    SpringBean的生命周期涉及一系列步骤,包括初始化前、初始化后、销毁前、销毁后的各种回调函数的执行。 在事务管理方面,Spring支持编程式事务和声明式事务两种方式。编程式事务需要程序员在代码中手动管理事务边界...

    spring2.0技术手册随书光盘7

    3. **依赖注入**:IoC的具体实现方式,Spring通过构造函数、setter方法或者接口回调等方式将依赖对象注入到目标对象中,使得对象间的依赖关系更加灵活和可管理。 4. **Spring事务管理**:Spring提供了编程式和声明...

    java面试Spring.pdf

    Spring提供多种回调方法,如`@PostConstruct`、`@PreDestroy`,以及生命周期接口(InitializingBean、DisposableBean)供开发者定制Bean的初始化和销毁行为。 **Spring Bean的作用域**: Spring Bean有五种作用域...

    spring5系列 任小龙大神班

    - **IoC(Inversion of Control)控制反转**:是Spring的核心特性之一,它将对象的创建权和管理权交给Spring容器,使得对象之间松耦合,方便管理和维护。 - **DI(Dependency Injection)依赖注入**:实现IoC的一种...

    Java 亚信上海 面试题

    - **异步**:非阻塞执行,通过回调函数处理结果。 **去除二维数组中重复的数据:** - 可以利用`Set`集合或自定义函数实现。 **Struts框架原理介绍:** - 基于MVC(Model-View-Controller)架构的Java Web框架。 ...

    基础Spring教程

    1. **IoC(Inversion of Control,控制反转)**:这是Spring的核心特性,通过依赖注入,将对象的创建和管理交给了Spring容器,降低了对象之间的耦合度。 2. **DI(Dependency Injection,依赖注入)**:Spring通过...

    spring-startup

    3. IoC(Inversion of Control):控制反转是Spring的核心设计思想,它将对象的创建和依赖关系的管理交给了框架,使得代码更加解耦。 4. AOP(Aspect Oriented Programming):面向切面编程,Spring提供了一种方便...

    spring-reference1.2.pdf

    - **BeanDefinition**:这是描述Bean的元数据,包含Bean的配置信息,如类名、作用域、生命周期回调方法等。 - **Bean 类**:Bean类是指具体的Java类,这些类的实例将在运行时被BeanFactory创建和管理。 - **Bean ...

    Node.js Design Patterns Second Edition.pdf

    1. 控制反转(Inversion of Control, IoC)和依赖注入(Dependency Injection, DI)模式在Node.js应用中的使用,以实现组件的解耦和代码的灵活性。 2. 中间件模式,特别是在构建Web应用程序时使用Express框架来实现...

    SpringFramework常见知识点.md

    - **IOC**:控制反转(Inversion of Control),是一种设计原则,其核心思想是把创建和调用对象的权利交给容器。 - **DI**:依赖注入(Dependency Injection),是实现 IOC 的一种方法,用于解决类间的依赖关系。在 ...

    spring framework 3 教程

    - DI是一种设计模式,用于实现控制反转(Inversion of Control, IoC)。在Spring框架中,依赖项不是由类自己创建的,而是由外部实体(如Spring容器)创建后注入的。这种方式提高了组件之间的解耦,使代码更加灵活、...

    Spring API

    2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件 2.3. 面向切面编程(AOP) 2.3.1. 更加...

    Spring中文帮助文档

    2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件 2.3. 面向切面编程(AOP) 2.3.1. 更加...

Global site tag (gtag.js) - Google Analytics