依赖注入与工厂模式的区别
依赖注入是定义一个接口,然后对该接口有多个实现类,接下来定义一个容器类,该容器类会使用反射根据传入不同的参数return new不同的接口实现类,使用时例化一个容器传入不同参数。
工厂模式是一个抽象父类有很多子类实现,接下来定义一个工厂类,该工厂类会使用反射根据传入不同的参数return new不同的接口实现类,使用时例化一个工厂传入不同参数。
主要一个是接口一个是抽象类,其余没区别
抽象类与接口的区别
继承抽象类的多是相关的子类,而引用接口的类可以毫不相关,抽象类是把子类共有重复的抽象出来,接口是定义一个特殊的功能,或者说制定一个接口,给引用他的各个类一个共有的标准
装饰者模式
新建一个接口,描述本类要找代理做的事,本类与代理类都实现这个接口,不过代理类里面例化一个本类,真实实现是调用了本类的实现,这样在客户端例化代理类,表面上看是代理类例化的对象实现的,实际上确是本类实现的
用法
有一个类,他里面原本就有者自己的功能,如果我们想加几个功能的话,方法一是直接写添几个方法或字段,这就导致了该类的复杂度提高,如果是一些核心功能还好,如果只是一些只在特定场合使用并且可能只用其中的1个或几个功能这就没必要都写到那个类里了
继承抽象类的多是相关的子类,而引用接口的类可以毫不相关,抽象类是把子类共有重复的抽象出来,接口是定义一个特殊的功能,或者说制定一个接口,给引用他的各个类一个共有的标准
装饰着模式和代理模式的区别
装饰的责任是扩展接口功能 ,而代理主要控制访问前后进行各种操作