![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
咸鱼老罗
干活人
展开
-
大话设计模式笔记(一)——设计模式概论和简单工厂模式
概述设计模式——可复用面向对象软件的基础设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是为了可重用代码、保证代码的可靠性,是软件工程的基石。第一章代码无错就是优——简单工厂模式面向对象编程的三个特性是封装、继承、多态。对应于代码重构封装就是业务代码和逻辑代码分开单独形成类原创 2017-08-01 16:22:06 · 515 阅读 · 0 评论 -
大话设计模式笔记(二)——商品促销 策略模式
第二章商品促销——策略模式需求:商品价格计算,并增加折扣条件工厂模式UML图在工厂模式中,调用端代码会通过折扣工厂类生成折扣对象,折扣对象调用折扣方法。这里关联了两个类,工厂类和抽象折扣类。策略模式UML图在策略模式中,会在策略环境类的构造器中完成折扣类的初始话,并在策略环境的实现方法调用折扣类的折扣算法。这样调用类只会关联策略环境类。简单工厂模式需要的是生成的原创 2017-08-01 16:36:57 · 1026 阅读 · 0 评论 -
大话设计模式笔记(三)——单一、开放封闭、依赖倒转、里氏替换四大设计原则
设计模式有六大设计原则:单一原则、开放封闭原则、依赖倒转原则、里氏替换原则、接口隔离原则、 迪米特原则,但按本书的目录来说,它在三至五章讲的是标题的四个原则,接口隔离原则和迪米特原则在之后章节讲解,这里标题的四大原则是按章节来记录的,不是说设计模式只有四大原则。第三章拍摄UFO——单一职责原则理论上来说,就一个类而言,应该只有一个引起它变化的原因。一个类存在多个职责时,应该把职责分原创 2017-08-01 16:56:22 · 612 阅读 · 0 评论 -
大话设计模式笔记(四)——装饰模式
第六章装饰模式装饰模式是动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。装饰模式UML装饰模式的核心是对对象不断添加装饰的功能所使用的设计模式。现有需求人和多种衣服,人需要自主搭配多种衣服,UML结构图如下在上面的UML中,Decoiator存在Component对象属性,在构造器初始化。它的子类的wear方法会调用compone原创 2017-08-01 17:43:34 · 493 阅读 · 0 评论 -
大话设计模式笔记(五)——代理模式和工厂方法模式
这两个模式都很简单,就合并一起,简单说一下。第七章代理模式代理模式是用代理类来代理实现类进行操作。在代理类的方法中调用真实的实现方法。UML图如下第八章工厂方法模式简单工厂的工厂类中的增加一个工厂类就要修改工厂类的判断,违背了open-close原则。工厂方法模式是对简单方法的工厂类做一个抽象处理。它将工厂类抽象成工厂接口,并对每一个产品类创建一个与之对原创 2017-08-01 18:08:25 · 604 阅读 · 0 评论 -
大话设计模式笔记(六)——原型模式
第九章原型模式在面向对象语言中,解决复制对象而不是复制引用的问题的解决方法是原型模式。原型模式的UML图Java中,原型接口是存在的,是Copyable。Clone方法是Object的clone(),不过是protected,使用super.clone()时,必须实现Copyable接口。不然会抛出CloneNotSupportedException异常。例子,原型模式实现原创 2017-08-01 18:21:10 · 554 阅读 · 0 评论 -
大话设计模式笔记(七)——模版方法模型
第十章 模版方法模型含义在父类中定义一个操作的算法骨架,将算法的一些步骤放到子类去实现。模版方法使得子类不改变算法结构的情况下即可重定义算法的特定步骤。UML需求:现有试卷一份,通过模版方法模型完成试卷模版和答卷。UML图代码AbstractTempleExampagepublic abstractclass AbstractTempleEx原创 2017-08-01 18:34:54 · 501 阅读 · 0 评论