访问者 模式

设计模式实验12实验13

外观模式 package test12; public class Memory { public void check(){ System.out.println("内存自检"); } } package test12; public class HardDisk { public void re ......
设计模式 模式

软件设计模式学习每日总结-第二天

回顾第一天:昨天学习的设计模式中的uml类图,还记得类与类的关系有关联(聚合、组合),依赖,继承,实现,其中依赖的耦合度最小,而继承的耦合度最大,而软件设计追求的就是高内聚,低耦合。 还学习各种软件设计原则。 第二天 创建型模式:将创建和使用分离,使用者不需要关注创建的细节。 简单工厂模式: 工厂方 ......
设计模式 模式 软件

Unity-单例模式

Unity-单例模式 前言 ​ 对于某些特殊的类,我们希望 在整个程序的生命周期只创建一个该类的对象 ,或是希望 在其他类没有持有该类的引用,就可以调用该类中的函数,我们就需要将这个类写成 单例模式 单例的简单实现 public class Test() { pubic abstract Test ......
模式 Unity

Unity-观察者模式(observer)

Unity-观察者模式(observer) 引言 ​ 了解完委托(delegate)与事件(event)之后,我们来讨论一个问题。 ​ 假设我们有一个热水器,我们给他同上电,当水温超过95度的时候:1、扬声器会开始发出语音,告诉你温度;2、液晶屏也会改变水温的显示,来提示水已经烧开了 ​ 现在我们需 ......
观察者 observer 模式 Unity

Unity-工厂设计模式

Unity-工厂设计模式 原文出处:工厂方法设计模式 (refactoringguru.cn) 简介 ​ 工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。 工厂(方法)模式 问题引入 ​ 假设你正在开发一款物流管理应用。 最初版本只能处理卡车运输 ......
设计模式 工厂 模式 Unity

向下转型的话,可以访问的是父类还是子类的成员方法和成员属性?

前言: 对于多态的一些概念存在模糊,于是这次来挑一下特别容易误解的点。 正文: 向下转型(downcasting)是将父类的引用转换为子类的引用。例如,如果User2继承自Object,你可以这样做: Object obj = new User2(); // 这是向上转型 User2 user2 = ......
成员 子类 属性 还是 方法

Linux基础43 nginx多server优先级, nginx禁止IP访问, nginx的alias, nginx的try_file

Nginx常见问题 一、nginx多server优先级 在开始处理一个http请求时,nginx会去除header头中的Host变量,与nginx.conf中的每个server_name进行匹配,以此决定到底由哪一个server来处理这个请求,但nginx如果配置多个相同的server_name,会 ......
nginx 优先级 try_file 基础 server

Nginx配置IP访问tomcat JSP

前言 对于Nginx大家已经是不陌生了,目前广泛的应用于各种项目中,我这个需求不常见,所以记录一下,工作中的奇葩需求 需求背景 目前需要代理的页面是一个比较老(10年前)的项目,客户需求是他们需要采用IP的方式直接访问到对应tomcat的JSP页面 解决方案 参考之前做的Nginx配置tomcat的 ......
tomcat Nginx JSP

pgsql 查询对应模式下的表结构语句

select table_name, column_name, data_type, udt_name, table_catalog, table_schema, table_name, column_name, ordinal_position, column_defaultfrom inform ......
语句 模式 结构 pgsql

学习随笔(设计模式:装饰模式)

内容 今天学习了新的设计模式,装饰模式。装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。 收获 1.当我们在设计软件时,考虑使用基类和派生类的时候,就可以考虑是否可以使用装饰模式,因为装饰模式比生成子类更加灵活 2.当我们对一个已有的类添加额外的功能时,开放 ......
模式 设计模式 随笔

软件设计实验12:外观模式

[实验任务一]:计算机开启 在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load ......
外观 模式 软件

软件设计Tutorial 6_原型模式

[实验任务一]:向量的原型 用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆方式的异同。 实验要求: 1. 画出对应的类图; 2. 提交源代码(用C++完成); #include <iostream> #include <cstri ......
原型 Tutorial 模式 软件

软件设计Tutorial 13_享元模式

[实验任务一]:围棋 设计一个围棋软件,在系统中只存在一个白棋对象和一个黑棋对象,但是它们可以在棋盘的不同位置显示多次。 实验要求: 1. 提交类图; 2.提交源代码; 3.注意编程规范; 4.要求用简单工厂模式和单例模式实现享元工厂类的设计。 package Xiang; public class ......
Tutorial 模式 软件 13

11月1日《软件需求模式》阅读笔记一

软件需求这门课课程要求精读一门关于软件需求方面的书,我选择了《软件需求模式》这本书,从这本书来了解一下软件需求的一些流程以及需要软件工作人员做好那些事情。 首先从这本书的前言中,我知道了这本书先是要教会我们关于需求的概念,让我们知道什么是需求,然后就是教我们各种关于需求的模式,这本书中有30多个需求 ......
需求 模式 笔记 软件

单例模式C++实现

单例模式 全局静态变量实现饿汉式单例模式 饿汉式实现方式是线程安全的。 黑 #include using namespace std; /* 饿汉式单例模式 */ class SingleObject{ private: static SingleObject instance; SingleObj ......
模式

c#中代理模式详解

基本介绍: “代理”顾名思义指以他人的名义,在授权范围内进行处理事情的意思。 在编程语言中的则解释为:为其他对象提供一种代理以控制对这个对象的访问。 从释义上不难解读,代理本质就是一个中介,客户通过中介来访问原对象。本质就是在原对象基础上包了一层封装。 那么问题来了,为什么不直接使用原对象,反而多此 ......
模式

无法访问 Maven 3.8.1 http 仓库。

无法访问 Maven 3.8.1 http 仓库。 idea显示 可能的解决方案: 检查 Maven settings.xml 是否不包含 http 仓库 检查 Maven pom 文件是否不包含 http 仓库 http://maven.aliyun.com/nexus/content/group ......
仓库 Maven http

享元模式

说到享元模式,第一个想到的应该就是池技术了,String常量池、数据库连接池、缓冲池等等都是享元模式的应用,所以说享元模式是池技术的重要实现方式。 比如我们每次创建字符串对象时,都需要创建一个新的字符串对象的话,内存开销会很大,所以如果第一次创建了字符串对象“adam“,下次再创建相同的字符串”ad ......
模式

Hash模式基于锚点,以及onhashchange事件 —— 通过锚点的值作为路由地址

前端路由有两种模式:mode:hash/histroyhash: 1.hash的优点是兼容性比较高,可以直接在项目布署上线时使用。 2.hash的缺点是#不美观影响url的美感,并且如果移动端分享严格限制,可能会报错 history: 1.history的优点是不会影响到url的美感,提高了可观赏性 ......
路由 onhashchange 模式 事件 地址

学习随笔(设计模式:面向对象原则)

内容 今天学习了面向对象的几种设计思想原则,之前一直是C开发,所以面向过程的思想比较严重。面向对象的四个好处:可维护好、可拓展性好、可复用性好、灵活性好。 收获 1.单一职责原则:封装一个类,职责应该单一,仅有一个以其它变换的原因,所以要做好类的职责分离。 2.开放-封闭原则:软件实体(类、模块、函 ......
设计模式 随笔 对象 原则 模式

每日随笔——适配器模式

[实验任务一]:双向适配器 实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。 实验要求: 1.画出对应的类图; 2.提交源代码; 3.注意编程规范。 类图 源码: Cat package sc8; public interface cat { void catchMouse(); void ......
适配器 随笔 模式

软件设计模式学习每日总结-第一天

Uml类图 1、 分三层,从上至下分别为类名,属性,方法。 2、 类与类之间的关系:关联(聚合,组合)、依赖、继承、实现。 3、 依赖是最低耦合,继承是最高耦合。 七大原则 1、 开闭原则:程序代码对扩展开发,对修改关闭。 2、 里氏代换原则:子类可以扩展父类功能,但是不要修改父类原有的功能。 3、 ......
设计模式 模式 软件

Spartacus CSR 渲染模式下的 home page 网络请求

Spartacus CSR 渲染模式下的 home page 网络请求如下,其中第一个请求就是 baseSites OCC API 调用。 Spartacus是一个开源的、响应式的电子商务前端框架,是基于Angular构建的,旨在帮助企业快速构建现代化的电子商务网站。OCC(Omni Commerc ......
Spartacus 模式 网络 home page

访问者模式

访问者模式 1.说明 同一个事物的不同视角下访问信息的不同 家长视角下的老师-》教学质量怎么样 家长视角下的学生-》分数好不好 校长视角下的老师-》老没有被投诉 校长视角下的学生-》是不是三好学生 2.抽象代码结构 2.1 抽象角色,老师,学生 User.java @NoArgsConstructo ......
访问者 模式

观察者模式

定义了对象之间一种一对多的依赖关系。让一个对象的改变能够影响其他对象。发生改变的对象称为观察者对象,被通知的对象称为观察者。 一个观察目标可以对应多个观察者 可以根据需要增加和删除观察者,使传统体系更易于扩展,这是观察者的模式动机 模式定义: 定义对象间的一种一对多依赖关系,使得每当一个对象状态发生 ......
观察者 模式

无法访问 Maven 3.8.1 http 仓库。

无法访问 Maven 3.8.1 http 仓库。 可能的解决方案: 检查 Maven settings.xml 是否不包含 http 仓库 检查 Maven pom 文件是否不包含 http 仓库 http://maven.aliyun.com/nexus/content/groups/publi ......
仓库 Maven http

C语言——共用体union存储结构与大小端存储模式

1、大小端存储模式 大端:低位数据字节存储在高地址 小端:低位数据字节存储在低地址 注释:例如int的权重低的8bit,低位指的是00000001 00000000 00000000 00000000 00000001 2、共用体union存储结构 共用体内每段数据元素从低地址开始存储。 注释:数组 ......
大小 语言 结构 模式 union

设计模式(十二)代理

一、定义 给某一个对象提供一个代理或占位符,并由代理对象控制对原对象的访问。代理模式是一种结构型模式。 二、描述 代理模式的结构比较简单,其核心是代理类,为了让客户端能够一致性地对待真实对象和代理对象,在代理模式中引入了抽象层。包含以下三个角色: 1、Subject(抽象主题角色):它声明真实主题和 ......
设计模式 模式

磁盘的访问问题

1、例题一 某磁盘有100个磁道,磁头从一个磁道移至另一个磁道需要6ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和20ms,则读取一个100块的文件需要( )ms。 相关公式:读取时间=(寻道时间+旋转延迟时间+传输时间)*文件数 ......
磁盘 问题

Spring5学习随笔-Spring5的基本介绍、工厂设计模式

学习视频:【孙哥说Spring5:从设计模式到基本应用到应用级底层分析,一次深入浅出的Spring全探索。学不会Spring?只因你未遇见孙哥】 第一章、引言 ![](https://img2023.cnblogs.com/blog/3321544/202311/3321544-2023111312 ......
Spring5 Spring 设计模式 随笔 工厂