设计模式之美

  1. 通过组合和委托技术来消除代码重复
  2. 开发案例
通过组合和委托技术来消除代码重复

public interface Flyable {
void fly();
}
public interface Tweetable {
void tweet();
}
public interface EggLayable {
void layEgg();
}
public class Ostrich implements Tweetable, EggLayable {//鸵鸟
//… 省略其他属性和方法…
@Override
public void tweet() { //… }
@Override
public void layEgg() { //… }
}
public class Sparrow impelents Flyable, Tweetable, EggLayable {//麻雀
//… 省略其他属性和方法…
@Override
public void fly() { //… }
@Override
public void tweet() { //… }
@Override
public void layEgg() { //… }
}

public interface Flyable {
void fly();
}
public class FlyAbility implements Flyable {
@Override
public void fly() { //… }
}
//省略Tweetable/TweetAbility/EggLayable/EggLayAbility

public class Ostrich implements Tweetable, EggLayable {//鸵鸟
private TweetAbility tweetAbility = new TweetAbility(); //组合
private EggLayAbility eggLayAbility = new EggLayAbility(); //组合
//… 省略其他属性和方法…
@Override
public void tweet() {
tweetAbility.tweet(); // 委托
}
@Override
public void layEgg() {
eggLayAbility.layEgg(); // 委托
}
}  

开发案例

从基础的需求分析、职责划分、类的定义、交互、组装运行讲起,将最基础的面向对象分析、设计、编程的套路给你讲清楚


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 337950548@qq.com

💰

×

Help us with donation