经典的C++设计方法

先new 一个工厂:工厂里面包含一个抽象的产品,new 产品的时候,new 出具体的产品,产品包含包装和东西。
                                                                                并初始化,调用时抽象的产品初始化,里面在调用作为protect 的子类的纯虚函数,调用子类的onIinitialize,初始化各种资源。

工厂设置参数。设一个资源管理器(独立的,单例)

初始化一辆车,但车不属于工厂,因此用单例,new 抽象车,构造车包含一个new 货车,

设置车的资源,需要通知就设置回调函数,并开始运行,等到装车。、

在抽象产品里面获取到每个产品的包装,并调用打上log.

抽象产品开始工作,
设计模式之美的读后感:
六:接口和抽象类:logger模块举例,不要让抽象类和子类用一个方法,父类log(可以直接声明纯虚函数)和子类的doLog的区别
判断能否打印,封装在父类的的log里面;
七:面向接口编程:函数命名不要暴露细节(抽象)(aliyun), 特殊流程不要暴露给使用者(getToken),依赖接口编程(为实现类定义统一的接口)。
八:多用组合,少用继承:科门刚属目的继承谱系导致代码臃肿,用组合,接口,委托的方式

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(); // 委托
  }
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值