![](https://img-blog.csdnimg.cn/924d4f9804bb4c518f41a73c688ebc1c.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式学习
文章平均质量分 67
个人学习设计模式用。(休息一下,来杯Java)
程序员ah鑫
奋斗的小鑫
展开
-
设计模式学习-Java模板方法模式
模板方法模式基本概念模板方法模式(Template Method Pattern)主要指一个抽象类中封装了一个固定流程,流程中的具体步骤可以由不同子类进行不同的实现,通过抽象类让固定的流程产生不同的结果。模板方法模式是一种基于继承的代码复用技术,它是一种类行为型模式。模板方法模式是结构最简单的行为型设计模式,在其结构中只存在父类与子类之间的继承关系。模板方法模式提供了一个模板方法来定义算法框架,而某些具体步骤的实现可以在其子类中完成。类图类图中,斜体代表“抽象”。代码如下:Abstract原创 2021-10-31 21:18:12 · 158 阅读 · 0 评论 -
设计模式学习---Java代理模式
代理模式基本概念代理模式就是找一个代理类替原对象进行一些操作。与装饰器模式不同,装饰器模式是在原有对象的基础上增加一些功能,代理模式则是全部替代、全权代表(租房子时的中介、打官司时的律师)。类图这里 类图与装饰器模式不一样的地方在右侧,装饰器里的是Decorator,现在是Proxy,没错 装饰器是装饰器,代理是代理,老废话了。还是通过代码来看具体那里不一样吧。Sourceable和Source的代码与装饰器的一样,这里就不在写了(需要的话请转到查看“设计模式学习—Java装饰器模式”),原创 2021-10-30 21:21:48 · 55 阅读 · 0 评论 -
设计模式学习---Java装饰器模式
装饰器模式基本概念装饰,就是装饰,在Java中,装饰器模式就是对一个对象动态的增加一些新的功能(出门了还可以动态的补下妆呢,是吧),但是有个要求,就是:无论是装饰对象还是被装饰的对象都必须实现同一个接口,装饰器持有被装饰对象的实例。类图中Sourceable : 接口Source : 被装饰类Decorator : 装饰类代码如下:Sourceable : 接口public interface Sourceable { // 自定义抽象方法 void method();原创 2021-10-29 21:37:50 · 101 阅读 · 0 评论 -
设计模式学习---Java工厂模式(Factory)
普通工厂模式概念普通工厂方法模式就是建立一个工厂类,对实现了同一接口的不同实现类进行实例的创建。实际上就是new对象类图右侧一个接口(Sender)两个实现类(MailSender、SmsSender),左侧工厂类(SendFactory)produce方法有一个String类型的参数type,返回值为Sender(构成多态)。代码如下:Senderpublic interface Sender { // 自定义抽象方法 void send();}MailSenderp原创 2021-10-28 22:08:46 · 1427 阅读 · 0 评论 -
设计模式学习---Java单例模式
单例(Singleton)设计模式主要是对饿汉式代码的小优化单例设计模式保证一个类只有一个实例,并提供一个访问该实例的全局访问点。优点是只生成一个实例,所以系统的开销小,可以设计全局访问点,优化共享资源的访问单例设计模式中的 饿汉式和 懒汉式饿汉式:直接创建对象,不存在线程同步的问题懒汉式:延迟创建对象,线程不安全饿汉式代码:public class Singleton { // 2.声明本类类型的引用指向本类类型的对象,使用private static关键字共同修饰 private原创 2021-10-27 21:42:05 · 81 阅读 · 0 评论 -
设计模式学习---常用的设计原则
开闭原则(Open Close Principle)对扩展开发,对修改关闭,使程序的扩展性更好,更加易于维护和升级。开闭原则意味着当有新的需求或者变化时,可以对现有的代码进行灵活的扩展。对代码进行封装是实现开闭原则的重要手段,对于经常发生变化的状态,将其封装成一个抽象类,当然 要拒绝对抽象的滥用!里氏代换原则(Dependence Inversion Principe)任何基类出现的地方,子类一定可以出现,多使用多态的方式,屏蔽不同子类对象之间的差异性,写出通用的代码,做出通用的编程,以适应需求的.原创 2021-10-26 21:43:48 · 73 阅读 · 0 评论