摘要: 装饰器模式和代理模式,UML类图上是一样的,结构是一样的,主要区别在于他们的目的不一样,真实使用场景不一样。 例如,抽象被装饰者为 Interface IA,被装饰者A,装饰者是A1,A2,A3,A4,我们代码里可能对A装饰多次,例如 new A1(A),new A2(A1),new A3(A2), 阅读全文
posted @ 2023-12-13 16:32 求简君 阅读(88) 评论(0) 推荐(0)
摘要: 代理模式,有两个角色,一个是被代理者,一个是代理,代理其实就是生活中的中介,但是代理者可以在原本有的操作上面添加一些自己的操作或动作,就像房产中介,你要买房子,很多事他可以帮你办理,但最终拿的是你的资料进行办理的,中间有可能还有一些小操作,比方说和银行谈贷款利率,他有可能中间也会拿些回扣哦。 这里代 阅读全文
posted @ 2023-12-13 14:37 求简君 阅读(26) 评论(0) 推荐(0)
摘要: 装饰器,两个角色,一个是待装饰者,一个是装饰者,就像我们早餐吃的煎饼,煎饼是待装饰者,其他的火腿、里脊、土豆丝、生菜等都是装饰者,但最终都没有改变这还是一个煎饼。 这里代码上有两个重要的点,一个是装饰者会也会继承或者实现被装饰者,第二是装饰者的构造函数会有一个类型为待装饰者的参数,代码示例如下: p 阅读全文
posted @ 2023-12-13 14:17 求简君 阅读(26) 评论(0) 推荐(0)
摘要: 原型模式,对象的拷贝,分为浅拷贝深拷贝,浅拷贝深拷贝主要区别是引用类型的拷贝,是拷贝引用地址还是将值复制一份。 具体实现,对象类实现IClone()接口,并重新clone()方法。 阅读全文
posted @ 2023-12-12 11:27 求简君 阅读(24) 评论(0) 推荐(0)
摘要: 建造者模式顾名思意有两个重要的原色,一个是产品(product),即我们需要的某个目标类的对象,一个建造者(builder),当然你可以把建造者先抽象出一个的abstractbuilder,再继承一个具体的builder. 最妙的一句是builder类再builder具体东西时,return thi 阅读全文
posted @ 2023-12-12 09:06 求简君 阅读(30) 评论(0) 推荐(0)
摘要: 工厂模式有两个角色,一个是产品,一个是工厂。 工厂模式可分为简单工程、工厂方法、抽象工厂三类: 简单工厂模式:又叫做静态工厂方法模式。该模式是通过传⼊参数来返回相应的类,这种方式比较单一,一个工厂负责制造所有子类产品,当增加一个子类产品时,需要对工厂进行修改,扩展性相对较差。简单工厂模式看为工厂方法 阅读全文
posted @ 2023-12-11 18:12 求简君 阅读(54) 评论(0) 推荐(0)
摘要: 重载,是同一个类里,方法名相同,参数不同,包括参数的类型,个数、顺序不同。 继承,是子类继承父类的特征和行为,可以称之为模板法。 多态,对于某个类型的方法调用,其真正执行的方法取决于运行时期实际对象实际类型的方法: 1、编译时多态又称静态多态,重载是编译时的多态,因为根据调用传参的类型、数量便可决定 阅读全文
posted @ 2023-12-11 17:25 求简君 阅读(159) 评论(0) 推荐(0)
摘要: 静态的类、方法、字段都是共享的,在内存里是有且仅有的同一段存储,因此他不属于任何实例化的对象。明白了这一点,很多关于静态的特点就容易理解了。 例如在C#里静态类、方法、字段有这些特点: 一、静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量 阅读全文
posted @ 2023-12-11 17:11 求简君 阅读(62) 评论(0) 推荐(0)
摘要: 单例,一个类获取一个共享的实例化对象。 要点: 1、构造函数私有化。 2、静态变量,静态方法 方式: 1、饿汉式,程序加载即创建单例实例。 2、懒汉式,程序加载时不创建实例,需要时再创建。懒汉式有线程风险,所以可以使用双重校验锁(校验+锁+校验)的方式,来保证线程安全。 示例代码,后续整理。 阅读全文
posted @ 2023-12-11 16:10 求简君 阅读(24) 评论(0) 推荐(0)
摘要: 第一范式,简称原子性,列或属性的不可再分割。 示例:个人信息表中,人员信息中的个人地址,国家省市县全写在了一起,应该分开成几列进行单独存储,也便于以后数据统计。 第二范式,简称不存在部分依赖性,即在存在数据库两列形成的联合主键时,不存在其他非主属性仅仅依赖于组成联合主键的其中一列(一个属性)。主要目 阅读全文
posted @ 2023-12-11 14:54 求简君 阅读(33) 评论(0) 推荐(0)