1,远古时代

这里讲述的IOC的演变历史,举一个例子,假如需要生成HTML和PDF格式的报表,以前的开发方式就是有个报表服务类需要使用报表生成器

它需要和其他三个都关联,它既需要知道接口类型,也需要知道具体有哪些实现类。而且还可能需要知道如何创建实现类的对象。这种是耦合度最高的方式,它需要知道接口和其实现类的细节。

举个例子,在远古时代,一个人想制造一把斧子,不仅自己要想出斧子的形状,还要亲自动手来制造,这个过程是很繁琐的。

2,封建社会

采用工厂模式的时候,关联的比较少了:分工明确,此时就不需要知道接口的实现类的细节了。

在封建社会,一个人想制造一把斧子,不用想出斧子的形状,不用亲自动手来制造,只需向工厂说一下需要一把斧子,工厂自动就会制造的。

3,社会主义社会

在社会主义,一个人想制造一把斧子,不用想出斧子的形状,不用亲自动手来制造,只需要在门口放个篮子,斧子就会自动给你放好在篮子里面。

4,一个需求

传统的方式比较好理解,但是新的方式是怎么实现的呢?以后在讲解。

最新文章

  1. https 与http 的坑
  2. dlib库使用
  3. C语言位取反问题
  4. JQuery:JQuery捕获HTML
  5. 应用程序池“Classic .NET AppPool”将被自动禁用
  6. MVC5 烂笔头
  7. hive 学习笔记——表的入门操作和命令
  8. Spring基础介绍
  9. Linux企业级项目实践之网络爬虫(2)——网络爬虫的结构与工作流程
  10. GPSR协议移植
  11. android判断网络的类型
  12. [LintCode] 77. Longest common subsequences_ Medium tag: Dynamic Programming
  13. day-11函数的形参与实参
  14. 【Linux基础】tr命令替换和删除字符
  15. 3、ObjectARX开发创建直线、圆、圆弧和修改对象属性
  16. hadoop在章鱼大数据平台下的安装与配置
  17. golang 安装一个项目下的所有依赖
  18. svg 添加超链接
  19. 手机APP兼容性测试
  20. jquery 去除字符串左右空格

热门文章

  1. centos7配置wordpress
  2. ViewPager+Fragment实现页面的切换
  3. Wordpress上传到阿里云服务器
  4. 通过pinyin4j.jar将(汉字拼音混合字符串)转化成字母首字母
  5. HTML 导航框架 (使用 Frame )
  6. SpringMVC框架搭建 基于注解
  7. netcat使用
  8. Spark RDD aggregateByKey
  9. [Note] changing building platform from vs 2013 to vs community 2015
  10. C# 5.0新推出的async和await