人生倒计时
- 今日已经过去小时
- 这周已经过去天
- 本月已经过去天
- 今年已经过去个月
1.简单工厂模式:直接通过参数创建对象,统一创建过程,有利于代码简洁,但如果要添加新对象,则需要修改创建过程,不符合开闭原则;适合比较简单稳定的需求。
2.工厂方法模式:简单工厂模式的扩展,解决添加新对象的问题,符合开闭原则,但只能包含一级对象;
3.抽象工厂模式:比工厂方法模式更抽象。一个工厂可以生产一组产品,每个产品可以属于不同的产品族,方便扩展产品,但不方便扩展产品族;
4.模式:适用于创建具有较多共同相似组件的产品,产品的构建过程需要控制;将复杂对象的创建和使用隔离开来,让同一个创建过程可以创建不同的产品
5.原型模式:如果对象创建复杂或者耗时c# 工厂方法模式,可以通过克隆的方式创建。缺点是每个类都要写一个clone方法;
6.单例模式:保证类只有一个实例,但C#有自动垃圾回收机制,可能会自动销毁和回收资源,导致单例对象的状态丢失;静态类也可以实现类似的功能,但是单例可以继承接口和解耦(减少类之间的交互);
7.适配器模式:将现有的不合适的接口转换成想要的接口;
8.桥接模式:如果一个类有多个变化维度,可以为每个变化维度设计一个接口并继承扩展,这样多维度解耦可以减少类的数量;
9.组合模式:如果兼容对象有差异,可以建立上层抽象类继承和区分,从而统一,提高系统的灵活性,同时扩展组合层;
10.装饰模式:适合向下展开构图,丰富物体内部细节;
11.模式:将一组接口整合成一个统一的接口,使用起来更方便,类似于模式,但更倾向于处理;
12.享元模式:适用系统中有大量相同或相似的对象,相同的部分可以通过共享的方式复用,将不同部分的状态外化,节省内存,提高性能。
13.代理模式:常用于调用外部DLL实现一个中间类来完成一些功能的时候;虚拟代理可以处理需要长时间加载或消耗大量系统资源的应用程序;
14.责任链模式:以链的形式传递一个处理请求;
15.命令模式:命令被封装为对象,请求发送者通过命令对象间接引用请求接收者c# 工厂方法模式,使系统更加灵活和可扩展;
16.解释器模式:将简单的自定义语言转换为可执行代码的结构;
17.迭代器模式:提供聚合对象的遍历方法,解决遍历应用;