- 博客(13)
- 收藏
- 关注
原创 观察者模式
观察者模式: 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 当一个对象放生改变,所有的依赖对象都将得到通知时使用。 关键代码:在抽象类里有一个 ArrayList 存放观察者们。 import java.util.Observable; import java.util.Observer; public class Demo { public static void main(String[] args) { wolf w = new wol
2020-06-05 20:18:46
83
原创 策略模式
策略模式: 一个类的行为或其算法可以在运行时更改。 意图: 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决: 在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。 何时使用: 一个系统有许多许多类,而区分它们的只是他们直接的行为。 如何解决: 将这些算法封装成一个一个的类,任意地替换。 关键代码:实现同一个接口。 package strategy; import java.awt.; import java.awt.event.; import javax.s
2020-05-22 16:42:25
76
原创 桥接模式
桥接模式: 桥接模式是用于把抽象化与实现化解耦,使得二者可以独立变化。 //实现消息发送的统一接口 public interface MessageImplementor { //要发送的消息的内容和接收人 void send(String message, String toUser); } } /** * 系统内短消息的实现类 * SMS(Short Message S...
2020-05-04 14:25:41
88
原创 中介者模式
中介者模式: 中介者模式是用来降低多个对象和类之间的通信复杂性即添加一个中介类,该类完成不同类之间的通信。 当多个类相互耦合,形成了网状结构时使用。 优点:降低类的复杂度。 //中介类 //中介类通过创建一个使用类的对象来 使用该类 import java.util.Date; public class ChatRoom { public static void showMessage(...
2020-05-04 13:07:12
81
原创 外观模式
外观模式: 为了隐藏系统的复杂性,向用户提供一个类,这个类可以访问系统。 优点: 1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性。 public interface Shape { void draw(); } public class Rectangle implements Shape { @Override public void draw() { ...
2020-04-26 15:38:57
80
原创 代理模式
代理模式: 代理模式就是一个类代表另一个类的功能。 当直接访问会带来问题时,通常会采用这种方法。 实现方法:添加一个类2,这个类2能实现需要类1的功能,当需要调用类1时,调用类2,这样就不会直接访问类1。 //被追求类 class Schoolgirl { private String Name; public getName() { return Name; } public setName(...
2020-04-26 15:31:08
63
原创 适配器模式
适配器模式: 适配器模式是在两个接口不兼容而又需要同时使用时用的。 通过继承或依赖来实现。 public class Test1 { public static void main(String[] args) { Target target = new Adapter(); target.Request(); } } interface Target{ void Request(); } cla...
2020-04-26 14:43:31
61
原创 单例模式(饿汉)
public class dan { public static void main(String[] args) { // TODO Auto-generated method stub // singleton s0= new singleton();不能调用 singletondcl s1 = singletondcl.Getinstance(); singleton...
2020-04-19 17:23:39
87
原创 享元模式
var Car = function(make,model,year){ this.make = make; this.model = model; this.year = year; this.getMake = function(){ return this.make; } } //单例模式的简单工厂 var myCarInfo =...
2020-04-19 16:32:38
159
原创 第三次作业(2)
class user{ private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(Strin...
2020-04-07 18:24:47
130
原创 第三次作业(1)
package zuoye; public class zuo1 { public static void main(String[] args) { User user = new User(); SqlserverUser su = new SqlserverUser(); su.Insert(user); su.GetUser(1); ...
2020-04-07 18:13:45
92
原创 第二次
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片![在这里插入图片描述](https://img-blog.csdnimg.cn/20200315133919561.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_a...
2020-03-15 13:39:31
76
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人