我有一个名为AbstractPlayer的类,它包含播放音频的基本变量和方法。允许用户添加音频流,如果用户启动流,则应通过解析音频类型来启动派生播放器。 目前我使用的是FileExtensionParser:
public class FileExtensionParser {
public FileExtension parseFileExtension(String filename) {
if (filename.endsWith(".mp3")) {
return FileExtension.MP3;
} else if (filename.endsWith(".m3u")) {
return FileExtension.M3U;
}
return FileExtension.UNSUPPORTED_TYPE;
}
然后我通过解析文件扩展的返回类型初始化一个专门的播放器。有没有更好的方法来回归合适的球员?也许整合在工厂模式中?