7、angular学习第六天 (依赖注入的理解)

一、关于依赖注入

关于angular的依赖注入学习。。有种很奇怪的感觉。我在学习过程中竟然对java的Spring依赖注入有了些体会。并且通过对spring的理解类比到angular对我的学习帮助很大。但是讲到根本上。还是一个对于面向对象的理解。

在这里不得不记录下我的最终体会。

如何解决一个难题?
不论我们在做什么样的功能,什么样的业务如果遇到了难点。当时没有思路或者思绪混乱的情况下。应该退回到问题的原点。抛开你当前的代码思路的束缚。从新回到面向对象的思维方式。从新思考对象的业务职责。相信问题总是可以解决的,并且问题也不应该是没有办法去解决的。无论这个办法是通过我们的技术手段还是业务上的变通。但不要忘记我们要抓住的仍然是从学习编程第一天就天天念叨的 面向对象。

就是想把上面的这段话裱起来!!哈哈

回到angular的依赖注入。依赖注入的核心思路是IOC。就是控制反转。目的还是解耦。

在一个对象中 手动通过new Object的方式去创建。会直接导致一个严重的耦合。当需要修改这个内部依赖的对象的时候。需要修改所有依赖这个对象的类的创建对象的代码。会产生大量的工作。

解决这个问题的方法就是ioc。
假设 StudentService TeacherService ClassroojmService 中都需要Student Teacher Classroom 三个类的实例。
传统方式 需要在StudentService TeacherService ClassroojmService的实例中通过

//忽略学生的属性和方法
Student student = new Student();
//忽略老师的属性和方法
Teacher teacher = new Teacher();
//忽略教室的属性和方法
Classroom classroom = new Classroom();

这样 问题就稍稍的可以看出来了。
如果这时候不需要student 而是需要子类 初中生JuniorMiddleSchoolStudent

那带来的问题就是需要修改每个service的new 方法

如果时通过依赖注入的方式。外面只需要修改提供器中的类型就可以。在service中依赖这个类型的对象。这样的解耦方式。有利于我们后面开发的维护。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 12,327评论 6 86
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • 原文地址,此处只为学习先来讲一讲,一个简单的依赖注入例子。 依赖 如果在 Class A 中,有 Class B ...
    lltree阅读 1,853评论 2 8
  • 转载链接:http://blog.xiaohansong.com/2015/10/21/IoC-and-DI/#h...
    ALEXIRC阅读 50,329评论 3 116
  • 想为你作一首长诗 想为你写一首长歌 想为你绘一幅美画 以世界为背景 以生活为旋律 以心作笔 那必定是世上最美的诗词...
    丹华君阅读 183评论 0 0