设计模式
人总是要有梦想的QAQ
这个作者很懒,什么都没留下…
展开
-
设计模式终极复习宝典
设计模式的基本要素:名称 问题 解决方案 效果 类之间的关系 依赖: 组合(强聚合,整体没了,部分对象也没有了) 实现: 里氏替换原则通俗来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。 依赖倒置原则的原始定义为:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象 接口隔离原则:要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。 迪米特法原创 2021-03-22 20:57:24 · 126 阅读 · 0 评论 -
设计模式复习笔记
依赖倒转原则理解: 依赖接口进行实现,上层模块不直接调用下层模块,而时调用下层的接口,下层的具体实现也依赖中间层的接口 迪米特法则的含义是:如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。 创建性模式 工厂方法 简单工厂: 当产品种类稳定的时候,可以使用简单工厂方式,不再需要扩展类 单例: 实现方式: //懒汉方式 class SingletonLazy { private static SingletonLazy singleton; priv..原创 2020-12-04 20:34:04 · 122 阅读 · 0 评论 -
桥接模式
桥接模式 将抽象部分与实现部分分离,使他们可以独立的变化。 这时候不适用类继承,而是使用类的组合 组合模式 组合模式用于整体和部分的结构,整体中虽然包含了部分,但都有一致的行为,例如文件夹下可以建立文件也可以建立新的子文件夹 组合模式中的安全方式与透明方式: 有的类仅仅提供了一个空实现,违背了接口隔离原则 装饰模式 参考来源 ...原创 2020-09-22 23:14:01 · 70 阅读 · 0 评论 -
适配器模式
适配器模式 将一个接口转为另一个接口 在开发过程中遇到的Adapter中属于适配器模式的应用,以及生活中遇到的手机充电器就是一个适配器模式的应用 package Adapter; class HomeApply { int supply() { //家庭电源220v return 220; } } class USBLine { void charge(int volt) { if (volt != 5) {原创 2020-09-08 13:23:18 · 113 阅读 · 0 评论 -
原型模式是指定创建对象的种类,并且通过拷贝这些原型创建新的对象
原型模式 原型模式是指定创建对象的种类,并且通过拷贝这些原型创建新的对象 package TemplateMethod; //java 中有一个语法糖,Cloneable 接口 class MilkTea implements Cloneable { String type; boolean ice; public MilkTea clone1() { MilkTea milkTea = new MilkTea(); milkTea.ty原创 2020-09-08 13:11:32 · 208 阅读 · 0 评论 -
2020-09-05 建造者模式
建造者模式原创 2020-09-05 23:27:55 · 74 阅读 · 0 评论 -
两个小demo
Excel: 一个单元格中的变化可能会引起多个单元格的变化(观察者模式) 飞行棋:考虑多种变化, e.g. 菜单变化 用户改变 地图改变 分叉改变 设计高架桥原创 2020-09-05 21:33:52 · 88 阅读 · 0 评论 -
单例模式
适用于当全局只需要一个变量的时候,即创建某个唯一性的类时,分为饿汉式和懒汉式 饿汉式 懒汉式 两者的主要区别在于饿汉式在初始情况下就分配了空间,懒汉式是在需要分配的时候才开始分配空间 #include <iostream> #include <vector> #include <map> #include <set> #include <queue> #include <algorithm> using namespace std;原创 2020-09-02 20:08:11 · 101 阅读 · 0 评论 -
工厂模式
文章目录前言一、简单工厂模式二、工厂方法模式三、抽象工厂模式总结 前言 一、简单工厂模式 用于解决new一个新类的时候不直接和这个类打交道,而是建立一个新的工厂类,以实现最少知道原则,可以把工厂模式看为是用于封装的设计模式 #include <iostream> #include <vector> #include <map> #include <set> #include <queue> #include <algorithm&.原创 2020-09-02 10:50:16 · 82 阅读 · 0 评论 -
设计模式初步认识
继承的坏处: 继承会使得子类继承父类的操作无法得到修改,破坏了父类的封装性,而且限制了子类的功能(除非使用抽象类 而且继承的层数比较多的时候,会导致可读性比较差 面向对象的设计原则: 针对接口编程,而不是针对实现编程 优先使用对象组合,而不是继承 设计模式是要面对未来的变化才产生的 设计模式的六大原则: 里氏替换原则:子类完全可以替换父类,也就是使用继承时只扩展新功能,不修改父类原有的功能 依赖倒转原则:细节依赖于抽象,抽象应位于最高层,并保持稳定,低层由细节实现 单一职责原则:一个类只做一件事,只有一个令原创 2020-09-01 21:43:18 · 82 阅读 · 0 评论