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