简单工厂模式 定义一个创建对象的工厂类,这个类负责封装实例化对象的细节 工厂方法模式 定义一个创建对象的抽象方法,由子类来决定要实例化的对象,将对象的实例化延迟到子类 抽象工程模式 定义一个接口用来创建相关的或者具有依赖性的对象簇 核心思想 将实例化对象的细节提取出来,放到工厂角色,由工厂角色负责具 ...
分类:
其他好文 时间:
2021-02-27 13:19:04
阅读次数:
0
引言 曾经有一道比较比较经典的面试题“你能够说说java的并发包下面有哪些常见的类?”大多数人应该都可以说出 CountDownLatch、CyclicBarrier、Sempahore多线程并发三大利器。这三大利器都是通过AbstractQueuedSynchronizer抽象类(下面简写AQS) ...
分类:
编程语言 时间:
2021-02-25 12:23:16
阅读次数:
0
Autofac单抽象多实现属性注入 1. 与上一节(多个实例通过构造函数注入)的原理一样,可以把Autofac的上下文当做属性来注入 2. 在使用的时候,通过Autofac上下文+不同注册的标识,来获取到不同的具体实例 ...
分类:
Web程序 时间:
2021-02-23 14:02:18
阅读次数:
0
1、建造者模式 (1)概念 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示。建造者模式注重组装过程,而工厂方法模式更注重创建过程 2、建造者模式的实现 (1)UML (2)实现 抽象建造者 public interface TerrainBuilder { TerrainBu ...
分类:
其他好文 时间:
2021-02-22 12:11:45
阅读次数:
0
Autofac支持AOP AOP面向切面编程。不用修改之前得代码基础上,可以动态的在某个动作之前加一些操作,动作只后做点事。 1. Nuget引入Castle.Core程序集+Autofac.Extras.DynamicProxy程序集 2. 在服务的抽象上标记[Intercept(typeof(C ...
分类:
Web程序 时间:
2021-02-20 12:39:59
阅读次数:
0
多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码 解决方式:将父类中的析构函数改为虚析构或者纯虚析构 虚析构和纯虚析构共性: 可以解决父类指针释放子类对象 都需要有具体的函数实现 虚析构和纯虚析构区别: 如果是纯虚析构,该类属于抽象类,无法实例化对象 虚析构语法: ...
分类:
其他好文 时间:
2021-02-20 12:06:01
阅读次数:
0
重写:需要有维承关系,子类重写父类的方法! 1。方法名必湖和问 2.参数到表列表必须相同 3。修饰符:范围可以扩大但不能缩小:public>Protected>Default>private 4。抛出的异常:范图。可以被缩小,但不能扩天大:C1assNotFoundException --> Exc ...
分类:
编程语言 时间:
2021-02-20 12:00:01
阅读次数:
0
Autofac支持控制器属性注入 控制器是一个类,控制器的实例,其实是IControllerActivator来创建的; 1. 得让控制器使用容器来获取实例 2.注册控制器抽象和具体的关系 3.在控制器属性内定义属性 4. 扩展,自己控制究竟哪些属性需要做依赖注入 自定义特写 自定义属性选择器 Cu ...
分类:
Web程序 时间:
2021-02-19 13:28:54
阅读次数:
0
Autofac支持配置文件 1. Nuget引入程序集:Autofac.Extensions.DependencyInjection Autofac.Configuration Autofac 2. 准备配置文件 3. 读取配置文件,根据配置文件信息,生成抽象和映射信息 ...
分类:
Web程序 时间:
2021-02-19 13:24:00
阅读次数:
0
学习模式要善于变通,如果只有一个ConcreteComponent类而没有抽象的Component类,那么Decorator类可以是ConcreteComponent的一个子类。 同样道理,如果只有一个ConcreteDecorator类,那么就没有必要建立一个单独的Decorator类,只保留一个 ...
分类:
编程语言 时间:
2021-02-19 13:23:29
阅读次数:
0