原型模式
原型模式👌🏼
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式之一。
这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。
一、实验要求🤔用原型模式生成“三好学生”奖状
分析:同一学校的“三好学生”奖状除了获奖人姓名不同,其他都相同,属于相似对象的复制,同样可以用原型模式创建,然后再做简单修改就可以了。下图所示是三好学生奖状生成器的结构图。
二、代码
三、结构图
四、代码结果😏
五、总结
这些都是基础的东西哦,我这里就不啰嗦了;不懂得请看前面的文章。
最后 还请各位老表多多支持。
单例模式
前言简介
💻 时间稍纵即逝,从后面的文章开始就要开始正式的java设计模式学习了,如有不懂的可以留言哦.
详细讲解单例模式
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
注意:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
两种类型懒汉式单例模式
该模式包含2种常见的类型,分别是懒汉式单例模式(其特点是类加载时没有生成单例,只有当第一次调用getInstance方法时才去创建这个单例)
饿汉式单例模式
饿汉式单例模式(其特点是类一旦加载就创建一个单例,保证在调用getInstance方法之前单例已经存在了)。
学习要求
用懒汉式单例模式模拟产生美国当今总统对象
用饿汉式单例模式模拟产生猪八戒对象
懒汉式单 ...
类的学习
一、问题
根据功能绘制对应系统的类图。
某电话公司决定开发一个客户信息管理系统,系统功能如下:(1) 浏览客户信息:任何使用Internet的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。(2) 登录:电话公司授予每个客户一个账号。拥有授权账号的客户可以使用系统提供的页面设置个人密码,并使用该账号和密码向系统注册。公司管理人员也可以通过登录对客户信息进行管理。(3) 修改个人信息:客户在系统中注册后,可以发送电子邮件或者使用系统提供的页面对个人信息进行修改。(4) 删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。
商场会员管理系统,具体功能如下:某商场会员管理系统包含一个会员类(Member),会员的基本信息包括会员编号、会员姓名、联系电话、电子邮箱、地址等,会员可分为金卡会员(GoldMember)和银卡会员(SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;每个会员可以拥有一个或多个订单(Order),每一个订单又可以包含至少一条商品销售信息(ProductItem),商品销售信息包括订单编号、商 ...
java设计模式初识
一、java设计模式
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
二、java基础符号
+:表示public
-:表示private
#:表示protected
三、基本要求(1)理解类的基本概念,掌握如何从需求分析中抽象出类的方法。
(2)了解类间关系的基本种类,掌握如何分析类间关系的方法。
(3)学会用UML语言表示类以及类之间的关系。
四、实验内容(1)确保电脑环境(eclipse或者IDEA、UMLet)
(2)通过对某应用实例(如:学生管理系统)进行需求分析,寻找和抽象出其中的类。
(3)用UML语言对该实例中的类的关系进行建模,正确画出类图与类的相互关系。
五、主要操作代码整理与实验结果展示
六、分析:
2.1一共有三个接口,9个类
2.2分别得关系有聚合关系,依赖关系,实现关系,关联关系,泛化关系
2.3 三个接口分别是:登录,前端界面,权限管理
Turtle
前言简介
💻 Python已经越来越来流行了,下面将通过这个文章详细介绍Python中的Turtle库(海龟库)
turtle绘图体系:1969年诞生,主要用于程序设计入门;
turtle库是python的标准库之一;属于入门级的图形绘制函数库;
标准库:是随解释器直接安装到操作系统中的功能模块;
第三方库:需要经过安装才能使用的功能模块;
库:library、包package、模块module统称为模块;
turtle库绘制原理:有一只海龟在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以自由改变颜色、方向宽度等;
Turtle 如何使用呢 💦 当然,我们想使用这个库需要先学习这个每个方法的意思是什么? 没有理论知识为实践做铺垫,是很难完成下面的题目
画笔控制函数
控制画笔运动函数
全局控制函数
如何调用函数12import 库名 as 别名import turtle as t
实战前言
🔫 所有的语言都是废话,只有实战才能检验自 ...
Algorithm
凯撒密码
凯撒密码 是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。
原理
💻
首先我是使用的python进行编写的,先导入python中的string库,这样我们就很方便的使用库函数
把大写字母和小写字母引入进来,然后在通过ASCILL码对里面的值进行判断和移动其中的值。
🌤️下面直接上代码!
两种方法方法1 对字母加密方法2 对中文和字母都加密
代码方法112345678def kaisa():s = input("加密的密文:")dt={}for ch in (65,97):for i in range(26):dt[chr(i+ch)]=chr((i+13)%26+ch)ms = "&quo ...
基于PacketTracer---网络地址翻译NAT
一、问题❓ 在PC1的WEB浏览器上打开www.sohu.com,同时到WEB服务器上查询TCP的连接,其结果如何?此时访问WEB服务器在外部IP是什么?
二、技术原理💦 网络地址翻译(NAT)可以将内部网络的私有IP翻译为Internet合法IP,从而可以方便解决LAN内大量IP地址的申请问题。NAT是一种用来让使用私有地址的主机访问Internet的技术。这项技术的核心是将私有地址转换为可以在公网上被路由的公有IP地址.
三、操作设备🚩 PC 3台;Server-PT 2台;交换机1台;Router 2台;直连线;交叉线;
四、解决办法如下图所示:
首先配置PC0,PC1,DNS,Sohu.comPC0
IP: 192.168.1.11
Submask: 255.255.255.0
Gateway: 192.168.1.1
DNS Server: 192.168.1.20
PC1
IP: 192.168.1.12
Submask: 255.2 ...
基于PacketTracer---ACL访问控制列表
一、问题❓ 你是一个公司的网络管理员,公司的经理部、财务部门和销售部门分属不同的3个网段,三部门之间用路由器进行信息传递,为了安全起见,公司领导要求销售部门PC2不能对财务部门PC3进行访问,但经理部PC1可以对财务部门PC3进行访问.
二、技术原理💦 访问控制列表(Access Control List ,简称ACL)既是控制网络通信流量的手段,也是网络安全策略的一个组成部分,它是一种基于包过滤的访问控制技术,可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。ACL是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。标准IP协议的ACL取值范围:1-99; 扩展IP协议的ACL取值范围:100-199。标准ACL是指基于数据包中的源IP地址进行简单的包过滤的访问控制列表,其通过检查数据包的源地址,来确定是允许还是拒绝基于网络、子网络或主机IP地址的某一协议簇通过路由器的接口。
三、操作设备🚩 PC 3 ...










