自己写的一个依赖注入例子

首先有一个Book基类,里面有一个content方法

然后有2本书 MathBook 和 EnglishBook ,继承Book接口

然后有一个教师基类Teacher,里面有一个Teach方法,Teach方法依赖于Book类

然后有2名教师,男老师manTeacher 和 女老师womanTeacher,继承Teacher接口

Debug.Log( "男老师教" + book.content());

Debug.Log("女老师教" + book.content());

主程序

这样最终即可输出,什么老师教什么书

而且之后再次添加新老师,或者再次添加新书,只要添加相应的类即可,无需改其他模块

【 源代码下载】:http://files.cnblogs.com/files/sanyejun/IOCandDI.zip

至于反转控制,应该就是实用代码去控制void Start()方法里面的函数了

可以去读取外界的配置表,或者用lua等脚本语言,去在什么时候什么样的老师教什么样的书

时间: 2024-10-10 18:08:32

自己写的一个依赖注入例子的相关文章

nodejs写的一个网页爬虫例子(坏链率)

因为工作需要,用nodejs写了个简单的爬虫例子,之前也没用过nodejs,连搭环境加写大概用了5天左右,so...要多简陋有多简陋,放这里给以后的自己看~~ 整体需求是:给一个有效的URL地址,返回该网页上所有无效链接的百分比(坏链率) 第一个文件:计算环链率 urlSpider.js 1 /*================================================ 2 @author MissUU 3 链接抓取思路: 4 5 1. 获取页面内容 6 2. 正则取得所有

Java学习笔记——面试常客:写出一个死锁的例子

现在的面试挺蛋疼,为了考察大家的语言掌握水平,类似这样的题特别多,不过在某个角度来说确实能看出一个人对某个知识点的理解,就比如今天这个死锁的小例子,主要考察大家对线程死锁概念的理解程度,也考察大家对java语言的敲代码水平,下面是一个死锁的简单例子: <span style="font-size:18px;">class Test implements Runnable { private boolean flag; //flag标签,让t1和t2线程执行不同代码 publ

Spring 中依赖注入例子(usb设备与智能设备)

1.先写接口 interface smartDevice //智能设备接口{ public void saveData(String data); //保存数据方 法 } interface USB //USB接口{public void insert();public String read();public void write(String s);public void pop(); } 2.再构建具体的类 public class Computer implements SmartDev

一个简单例子带你理解 依赖注入

刚出来工作就遇到了一个棘手的问题:依赖注入 公司的软件需求更新频率较高,所以前辈们为了满足需求,方便更新,就用到了依赖注入这个东西. 在之前都没有听说过那个东西,所以一开始简直是蒙了,然后各种百度,发现依赖注入这个东西还是个热门话题! 可是热门不代表自己能好理解,网上的好文章很多,可是自己慧根不够,看着看着就晕了. 不过文章大豆提到了一个东西  反射  .完了,又是一个没听说过的名字(博主自学开发,可能软件专业的会提到). 于是接着各种百度  反射 ,大概了解了什么叫做 反射.可是这个时候又开始

如何编写一个简单的依赖注入容器

随着大规模的项目越来越多,许多项目都引入了依赖注入框架,其中最流行的有Castle Windsor, Autofac和Unity Container. 微软在最新版的Asp.Net Core中自带了依赖注入的功能,有兴趣可以查看这里. 关于什么是依赖注入容器网上已经有很多的文章介绍,这里我将重点讲述如何实现一个自己的容器,可以帮助你理解依赖注入的原理. 容器的构想 在编写容器之前,应该先想好这个容器如何使用. 容器允许注册服务和实现类型,允许从服务类型得出服务的实例,它的使用代码应该像 var

ASP.NET Web API实践系列02,在MVC4下的一个实例, 包含EF Code First,依赖注入, Bootstrap等

本篇体验在MVC4下,实现一个对Book信息的管理,包括增删查等,用到了EF Code First, 使用Unity进行依赖注入,前端使用Bootstrap美化.先上最终效果: →创建一个MVC4项目,选择Web API模版. →在Models文件夹创建一个Book.cs类. namespace MyMvcAndWebApi.Models { public class Book { public int Id { get; set; } public string Name { get; set

ABP依赖注入

ABP依赖注入 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之6.ABP依赖注入 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 本文由 上海-半冷 提供翻译 什么是依赖注入 如果你已经知道依赖注入的概念,构造函

基于DDD的现代ASP.NET开发框架--ABP系列之6、ABP依赖注入

点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之6.ABP依赖注入 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 本文由 上海-半冷 提供翻译 什么是依赖注入 如果你已经知道依赖注入的概念,构造函数和属性注入模式

控制反转IOC与依赖注入DI

1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 图1:软件系统中耦合的对象 如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针.分针和秒针顺时针旋转,从而在表盘上产生正确的时间.图1中描述的就是这样的一个齿轮组,它拥有多个独立的齿轮,这些齿轮相互啮合在一起,协同工作,共同完成某项任务.我们可以看到,在这样的齿轮组中,如果有一个齿轮出了问题,就可能会影响到整个齿轮组