java几种简单的设计模式

单例设计模式

//单例
public class Student {
    private Student(){}
    private static Student instance = new Student();
    public Student getInstance() {
        return instance;
    }
}

组合设计模式

复制代码
//组合
public class Coder {
    private Computer com;
    public Coder(Computer com) {
        this.com = com;
    }
}

public class Computer {

}
复制代码

模版方法设计模式

复制代码
public class Test {

    /**
     *模板方法
     */
    public static void main(String[] args) {
        AbstractPrinter printer = new MyPrinter();
        printer.run();
    }

}

abstract class AbstractPrinter {
    public final void run() {
    
        open();
        close();
    }
    abstract void open();
    abstract void close();
}

class MyPrinter extends AbstractPrinter{

    @Override
    void close() {
        System.out.println("close");
    }

    @Override
    void open() {
        System.out.println("open");
    }
    
}
复制代码

装饰设计模式

复制代码
public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Man man = new Man();
        SuperMan sm = new SuperMan(man);
        sm.eat();
    }

}

class Man {
    public void eat() {
        System.out.println("eating!!!!");
    }
    
    public void run() {
        System.out.println("running!!!!");
    }
}

class SuperMan {
    private Man man;
    public SuperMan(Man man) {
        this.man = man;
    }
    
    public void eat() {
        System.out.println("lai yi bei");
        man.eat();
        System.out.println("lai yi gen");
    }
    
    public void run() {
        man.run();
    }
    
    public void fly() {
        System.out.println("fly");
    }
}
复制代码

 

 

 

posted on   南瓜饼  阅读(974)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2012年9月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6
点击右上角即可分享
微信分享提示