将一个类转换为另一个类的设计模式

我有一个名为GoogleWeather的类,我想将其转换为另一个CustomWeather类。

有没有可以帮助您转换类的设计模式

回答:

需要做出一个关键决定:

您是否需要转换生成的对象以反映对源对象的将来更改?

如果您不需要这样的功能,那么最简单的方法是将实用程序类与静态方法一起使用,这些静态方法根据源对象的字段创建新对象,如其他答案所述。

另一方面,如果您需要转换后的对象来反映对源对象的更改,则可能需要使用一些适配器设计模式:

public class GoogleWeather {

...

public int getTemperatureCelcius() {

...

}

...

}

public interface CustomWeather {

...

public int getTemperatureKelvin();

...

}

public class GoogleWeatherAdapter implements CustomWeather {

private GoogleWeather weather;

...

public int getTemperatureKelvin() {

return this.weather.getTemperatureCelcius() + 273;

}

...

}

以上是 将一个类转换为另一个类的设计模式 的全部内容, 来源链接: utcz.com/qa/406680.html

回到顶部