千家信息网

怎么用Java实现的设计模式

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关怎么用Java实现的设计模式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。/*** Design Pattern In Java* Name:Fa
千家信息网最后更新 2026年11月01日怎么用Java实现的设计模式

这篇文章给大家分享的是有关怎么用Java实现的设计模式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

/**
* Design Pattern In Java
* Name:Factory
* 目的:利用工厂模式创建两个产品系列Mac和Win
* Mac:MacRam,Maccpu
* Win:WinRam,WinCpu
* A:abstract
* C:Concret
* Author:blackphoenix
* Modify Date:2002-08-17
*/

/**
* 抽象产品类 Ram Cpu
*/
abstract class AProductRam {
public String getProduct() {
return this+" Product";
}
}
abstract class AProductCpu {
public String getProduct() {
return this+" Product";
}
}
/**
* 具体产品 MacRam,WinRam
*/
class CProductMacRam extends AProductRam {
public String toString() {
return "MacRam";
}
}
class CProductWinRam extends AProductRam {
public String toString() {
return "WinRam";
}
}
/**
* 具体产品 MacCpu,WinCpu
*/
class CProductMacCpu extends AProductCpu {
public String toString() {
return "MacCpu";
}
}
class CProductWinCpu extends AProductCpu {
public String toString() {
return "WinCpu";
}
}

/**
*生成一种新的产品系列时,接口改动的代码
*/
/*
class CProductNewRam extends AProductRam {
public String toString() {
return "NewRam";
}
}
class CProductNewCpu extends AProductCpu {
public String toString() {
return "NewCpu";
}
}
*/

/**
* 抽象工厂 AFactory
*/
interface AFactory {
public AProductRam CreateProductRam();
public AProductCpu CreateProductCpu();
}
/**
* 具体工厂 CFactoryMac
* 创建Mac产品系列
× MacRam MacCpu
*/
class CFactoryMac implements AFactory {
public AProductRam CreateProductRam() {
return new CProductMacRam();
}
public AProductCpu CreateProductCpu() {
return new CProductMacCpu();
}
}
/**
* 具体工厂 CFactoryWin
* 创建Win产品系列
× WinRam WinCpu
*/
class CFactoryWin implements AFactory {
public AProductRam CreateProductRam() {
return new CProductWinRam();
}
public AProductCpu CreateProductCpu() {
return new CProductWinCpu();
}
}
/**
* 要生成一种新的产品系列时,对客户要派发一个新的产品工厂
* 同时要派生出一种新的具体产品
* CFactoryNew
* NewMem,NewCpu
*/
/*
class CFactoryNew implements AFactory {
public AProductRam CreateProductRam() {
return new CProductNewRam();
}
public AProductCpu CreateProductCpu() {
return new CProductNewCpu();
}
}
*/


/**
* 客户端
* 1.使用FactoryMac创建Mac系列产品:ProductMacRam,ProductMacCpu
× 2.使用FactoryWin创建Win系列产品:ProductWinRam,ProductWinCpu
* 3.只要知道CFactoryMac,CFactoryWin(具体工厂)和
* AProductRam,AProductCpu(抽象产品)即可,至于具体产品的创建
* 细节客户不用关心
*/

class Factory {
private static void printProduct(String v) {
System.out.println(v);
}
public static void main(String[] args) {
AProductRam ProductMacRam=null,ProductWinRam=null;
AProductCpu ProductMacCpu=null,ProductWinCpu=null;
CFactoryMac FactoryMac=new CFactoryMac();
CFactoryWin FactoryWin=new CFactoryWin();
ProductMacRam=FactoryMac.CreateProductRam();
ProductMacCpu=FactoryMac.CreateProductCpu();
ProductWinRam=FactoryWin.CreateProductRam();
ProductWinCpu=FactoryWin.CreateProductCpu();
printProduct(ProductMacRam.getProduct());
printProduct(ProductMacCpu.getProduct());
printProduct(ProductWinRam.getProduct());
printProduct(ProductWinCpu.getProduct());
/**
*生成一种新的产品系列时,客户端改动的代码
*/
/*
AProductRam ProductNewRam=null;
AProductCpu ProductNewCpu=null;
CFactoryNew FactoryNew=new CFactoryNew();
ProductNewRam=FactoryNew.CreateProductRam();
ProductNewCpu=FactoryNew.CreateProductCpu();
printProduct(ProductNewRam.getProduct());
printProduct(ProductNewCpu.getProduct());
*/

}
}

感谢各位的阅读!关于"怎么用Java实现的设计模式"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

产品 产品系列 工厂 客户 模式 生成 设计模式 设计 代码 内容 客户端 更多 篇文章 不错 实用 不用 两个 同时 品类 接口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技活动banner 广州宏创互联网科技 鑫亿盛互联网科技 掌上梦互联网科技 金融科技和互联网金融 华脉科技工业互联网产品 江苏南京365互联网科技 湖南诚度互联网科技有限公司 广州市恰铎互联网科技有限公司 互联网企业科技类企业如何做账 江苏互联网智能科技软件 郑州欣桑互联网科技有限公司 2021世界互联网领先科技成果发布 新氧科技和美国互联网有关系吗 昆明中奇联合互联网科技 广西科技产业互联网是什么 上海万顺科技互联网有限公司招聘 优雇互联网科技有限公司 互联网科技创新方面的资料 六子台科技互联网展会 什么是科技互联网 中国互联网科技发展 致骋互联网科技 互联网科技英文翻译 厦门比较好的科技互联网公司 昊天互联网科技有限公司 富国互联网金融科技混合基金 半导体行业属于互联网高科技类吗 福建互联网展示科技馆设计 吉林省码上互联网科技电话
0