
设计模式
ambition_forever
闲谈莫论人非
展开
-
设计模式总览
设计模式-未完待续原创 2023-11-27 17:05:10 · 388 阅读 · 0 评论 -
建造者模式
public class Phone { private String cpu; private String screen; private String memory; private String mainboard; private Phone(Builder builder) { this.cpu = builder.cpu; this.screen = builder.screen; this.memo.原创 2022-11-21 23:00:36 · 87 阅读 · 0 评论 -
设计模式-继承和组合
1、组合优于继承,日常开发中多用组合少用继承。2、为什么不推荐使用继承?继承是面向对象的四大特性之一,用来表示类之间的is-a关系,可以解决代码复用的问题。虽然继承有诸多作用,但当继承层次过深、过于复杂的时候,也会影响到代码的可维护性。在这种情况下,应该尽量少用,甚至不用继承。3、组合相比继承有哪些优势? 继承主要有三个作用:表示is-a关系,支持多态特性,代码复用。而这三个作用都可以通过组合、接口、委托三个技术手段来达成。除此之外,利用组合还能解决层次过深、...原创 2022-01-03 19:13:45 · 583 阅读 · 0 评论 -
原型设计模式
package 原型模式;public class Person implements Cloneable{private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;原创 2017-03-24 14:53:33 · 221 阅读 · 0 评论 -
装饰者设计模式
package 装饰者;public interface Car {public void run();public void show();}package 装饰者;public abstract class CarDrector implements Car {private Car car;public CarDrector(Car car){原创 2017-03-21 10:03:10 · 271 阅读 · 0 评论 -
适配器模式
class Current{ publicvoid use220V(){ System.out.println("交流电220V"); }}class Adapter1 extends Current{ publicvoid use18V(){ Sys原创 2017-03-03 10:53:44 · 186 阅读 · 0 评论 -
抽象工厂设计模式
//抽象工厂设计模式是用来实现工厂族的public interface Fruit { publicvoid show();}public abstract class Apple implementsFruit{ @Override publicabstract void show();}public abstrac原创 2017-03-01 09:28:52 · 180 阅读 · 0 评论 -
工厂方法设计模式
//工厂方法设计模式interface Fruit{ publicvoid show();} interface FruitFactory{ publicFruit getFruit();} class AppleFactory implementsFruitFactory{原创 2017-02-28 19:42:24 · 255 阅读 · 0 评论 -
简单工厂设计模式-反射机制
package day15;interface Fruit {public void info();}class Apple implements Fruit {public void info() {System.out.println("苹果");};}class Orange implements Fruit {@Overrid原创 2017-02-25 10:54:04 · 279 阅读 · 0 评论 -
简单工厂设计模式
package day15;//简单工厂设计模式abstract class Ball {public abstract void show();}class FootBall extends Ball{@Overridepublic void show() {// TODO 自动生成的方法存根System.out.println("我是原创 2017-02-25 10:46:27 · 173 阅读 · 0 评论 -
利用方法计算程序段的运行时间
abstract class GetTime { public final void getTime() { long start = System.currentTimeMillis(); runcode(); long end = System.currentTimeMillis(); Sys转载 2016-12-23 20:08:03 · 316 阅读 · 0 评论 -
利用工厂方法模式设计计算器
package 工厂方法模式_计算器;//首先创建一个操作的父类 其中的抽象方法就是工厂方法为了让对应的具体的类去实现,实现具体的功能。public abstract class Operation {private int num1;private int num2;public int getNum1() {return num1;}public void原创 2016-11-14 15:11:40 · 3405 阅读 · 0 评论 -
利用简单工厂模式设计一个计算器
package 模式应用实例;//设计一个操作符的接口符合开放原则public interface Operation {public int getResult(int num1,int num2);//获得结果}//创建两个具体的类,然后我们要用工厂去根据条件来分别创建这两个类对象package 模式应用实例;public class AddOperation原创 2016-11-14 13:58:45 · 635 阅读 · 0 评论 -
装饰者设计模式
package 模式练习部分; 首先创建,手机接口,然后创建最基本功能的手机,也就是只有接电话功能的手机,然后在这个基础上在设计一个装饰类 开始具体的装饰过程,按照本例中的步骤,下面要做的就是对于具体装饰者的创建,先有彩铃,然后开始接电话,然后在接完电话以后,没有什么其他的事情了,开始看会儿电视休息一下。。。创建一个接口创建最基本功能的手机创建装饰类1创建装饰原创 2016-11-13 11:38:56 · 246 阅读 · 0 评论 -
单例模式
所谓的单例模式实际上就是一个创建对象的工厂类所有通过工厂产生的类都是相同的一个对象。我们可以看到创建的两个对象的所指向的内容是一致的。。。单例模式属于最最简单的设计模式了 只是为了创建一个对象,大量的创建同一个对象。。。代码如下:package day05;class Person {private static Person person原创 2016-11-13 10:41:17 · 153 阅读 · 0 评论 -
抽象工厂设计模式
package 抽象工厂模式;public interface Fruit {public void show();}package 抽象工厂模式;public abstract class Apple implements Fruit{public abstract void show();}package 抽象工厂模式;原创 2016-11-10 21:56:49 · 217 阅读 · 0 评论 -
package 工厂方法模式;
package 工厂方法模式;interface Fruit {public void show();}class Banana implements Fruit {public void show() {System.out.println("我是香蕉");}}class Apple implements Fruit {public原创 2016-11-04 22:23:24 · 320 阅读 · 0 评论 -
简单工厂模式
package 简单工厂模式;//简单工厂模式的优缺点:优点:工厂类是整个模式的关键所在。包含基本上的判断逻辑,能够根据外界给定的信息来决定,应该创建那个具体类对象,用户在使用的时候可以直接根据工厂类去创建所需要的实例,而不用去了解对象本身是如何创建的,如何组织的。相对于客户是透明的 客户只需要了解工厂创建类的功能就可以。缺点:正好体现在工厂类上,工厂类上集中了所有实例原创 2016-11-04 19:51:30 · 232 阅读 · 0 评论