工厂设计模式:
在本人认为他就是生产对象的一种设计模式,工厂设计又称为静态方法模式,又称多态工厂模式。
以下是实现的代表性的代码。
//抽象产品因为不知道生产什么样的产品
这里可以使用抽象类,或者普通的类也行。
增强代码的复用性此处可以认为每一个产品doux
interface Product{
abstract void show();
}
//具体的产品
class A implements Product{
@Override
public void show() {
System.out.println("生产产品A");
}
}
class B implements Product{
@Override
public void show() {
System.out.println("生产产品B");
}
}
//工厂类 具体的生产的过程在里面
class Factory{
//生产对象
public static Product create(String type) {
switch (type) {
case "A":
//生产A
return new A();
case "B":
//生产B
return new B();
default:
break;
}
return null;
}
}
public class DD{
//主方法
public static void main(String arsg[]){
Product a = Factory.create("A");
a.show();
}
};
代理设计模式
案例:一个类代替一个类做事情 , 例如:买手机可以让你的朋友给你买在买过之后,还能做一些操作,这样的案例是有很多的。
具体的代码实现:
//我需要买电脑 当然代理需要帮我买电脑
interface Subject{
//购买电脑
public void buyMac();
}
//这是我
class My implements Subject{
@Override
public void buyMac() {
System.out.println("购 买笔记本");
}
}
//通过代理类帮我干事情
class Pro implements Subject{
public Pro() {
//获取我的引用做事情
new My().buyMac();
//通过代理可以做其他的事情
doSomething();
}
@Override
public void buyMac() {
}
//一下可以拓展一些方法
public void doSomething() {
System.out.println("组装起来");
}
}
//主方法
public class DD{
public static void main(String arsg[]){
new Pro();
}
};
装饰设计模式
当对类的增强的话,可称为对该类的装饰
class Preson{
//吃的方法
public void eat() {
System.out.println("吃米饭");
}
}
class NewPreson{
private Preson preson;
//传入旧对象
public NewPreson(Preson preson) {
this.preson=preson;
}
public void eat() {
preson.eat();
System.out.println("吃排骨");
System.out.println("吃水果");
}
}