0
点赞
收藏
分享

微信扫一扫

大模型提示词Prompt学习

🔍目的


🔍解释


真实世界例子

通俗描述

维基百科

程序示例

创建一个武器类层级

public interface Weapon {
void wield();
void swing();
void unwield();
Enchantment getEnchantment();
}

public class Sword implements Weapon {

private final Enchantment enchantment;

public Sword(Enchantment enchantment) {
this.enchantment = enchantment;
}

@Override
public void wield() {
LOGGER.info("The sword is wielded.");
enchantment.onActivate();
}

@Override
public void swing() {
LOGGER.info("The sword is swinged.");
enchantment.apply();
}

@Override
public void unwield() {
LOGGER.info("The sword is unwielded.");
enchantment.onDeactivate();
}

@Override
public Enchantment getEnchantment() {
return enchantment;
}
}

public class Hammer implements Weapon {

private final Enchantment enchantment;

public Hammer(Enchantment enchantment) {
this.enchantment = enchantment;
}

@Override
public void wield() {
LOGGER.info("The hammer is wielded.");
enchantment.onActivate();
}

@Override
public void swing() {
LOGGER.info("The hammer is swinged.");
enchantment.apply();
}

@Override
public void unwield() {
LOGGER.info("The hammer is unwielded.");
enchantment.onDeactivate();
}

@Override
public Enchantment getEnchantment() {
return enchantment;
}
}

创建单独的附魔类

public interface Enchantment {
void onActivate();
void apply();
void onDeactivate();
}

public class FlyingEnchantment implements Enchantment {

@Override
public void onActivate() {
LOGGER.info("The item begins to glow faintly.");
}

@Override
public void apply() {
LOGGER.info("The item flies and strikes the enemies finally returning to owner's hand.");
}

@Override
public void onDeactivate() {
LOGGER.info("The item's glow fades.");
}
}

public class SoulEatingEnchantment implements Enchantment {

@Override
public void onActivate() {
LOGGER.info("The item spreads bloodlust.");
}

@Override
public void apply() {
LOGGER.info("The item eats the soul of enemies.");
}

@Override
public void onDeactivate() {
LOGGER.info("Bloodlust slowly disappears.");
}
}

原神启动!

var enchantedSword = new Sword(new SoulEatingEnchantment());
enchantedSword.wield();
enchantedSword.swing();
enchantedSword.unwield();
// The sword is wielded.
// The item spreads bloodlust.
// The sword is swinged.
// The item eats the soul of enemies.
// The sword is unwielded.
// Bloodlust slowly disappears.

var hammer = new Hammer(new FlyingEnchantment());
hammer.wield();
hammer.swing();
hammer.unwield();
// The hammer is wielded.
// The item begins to glow faintly.
// The hammer is swinged.
// The item flies and strikes the enemies finally returning to owner's hand.
// The hammer is unwielded.
// The item's glow fades.

🔍类图

Bridge class diagram 

🔍适用场景

使用桥接模式当



举报

相关推荐

0 条评论