今天主要学习了抽象工厂和接口的概念及应用。
抽象工厂的简介:
抽象工厂模式提供了一个创建一系列相关或相互依赖对象的接口,运用抽象工厂模式的关键点在于应对“多系列对象创建”的需求变化。工厂模式就是让子类去决定要生产什么对象,客户类只需要知道接口就行了,无需知道具体类的类型工厂模式要解决的就是对象的创建时机问题,它提供了一种扩展的策略,很好地符合了开放封闭原则。
使用抽象工厂模式的条件:1 一个系统不应依赖于产品如何被创建,组合和表达的细节。2 有多个产品族,而系统只消费其中一个族中的产品3 同属于一个产品族的产品是在一起使用的。4 系统提供一个产品的库,所有产品都是以同样的接口实现。
什么是.NET接口?
接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。接口方法不能包含任何实现,CLR允许接口可以包含事件、属性、索引器、静态方法、静态字段、静态构造函数以及常数。但是注意:C#中不能包含任何静态成员。一个类可以实现多个接口,当一个类继承某个接口时,它不仅要实现该接口定义的所有方法,还要实现该接口从其他接口中继承的所有方法。
实现C# ICloneable接口,自定义拷贝功能。
C# ICloneable接口,支持克隆,即用与现有实例相同的值创建类的新实例。
C# ICloneable接口包含一个成员 Clone,它用于支持除 MemberwiseClone 所提供的克隆之外的克隆。Clone 既可作为深层副本实现,也可作为浅表副本实现。在深层副本中,所有的对象都是重复的;而在浅表副本中,只有顶级对象是重复的,并且顶级以下的对象包含引用。 结果克隆必须与原始实例具有相同的类型或是原始实例的兼容类型。