3 Ocak 2013, PERŞEMBE
Daha temiz bir yaklaşım için pek çok 'eğer başka bir' ifadeleri dönüştürme
Benim kod burada mimeType
MIME bazı tip eşittir, eğer, eğer, eğer, belirli bir dönüşüm yapacağız algılar
public void convertToMp3(File src, File target,String mimeType){
if(mimeType.equals("audio/mpeg")){
...
}else if(mimeType.equals("audio/wav")){
mp3ToWav();
}else if(mimeType.equals("audio/ogg")){
...
}else if(...){
... //More if and else here
}
Bir sürü var çünkü benim kod kısaltılmış vareğer başkabirçok temizlenmesi için uygundur Ne ifadelereğervebaşkayaeğer başkatablolar?
CEVAP
3 Ocak 2013, PERŞEMBE
Converter
bir arayüzü var. Sonra Mime tipi: her biri için bir sınıf oluşturabilirsiniz
public interface Converter {
public void convertToMp3();
public void convertToOgg();
}
public class MpegConverter implements Converter {
public void convertToMp3() {
//Code here
}
public void convertToOgg() {
//Code here
}
}
Her bir dönüştürücü için böyle bir sınıf gerekir. O zaman böyle bir harita ayarlayabilirsiniz
Map<String, Converter> mimeTypeMap = new HashMap<String, Converter>();
mimeTypeMap.put("audio/mpeg", new MpegConverter());
Sonra convertToMp3
yöntemi böyle olur:
Converter converter = mimeTypeMap.get(mimeType);
converter.convertToMp3();
Bu yaklaşımı kullanarak kolayca gelecekte farklı dönüştürücüler ekleyebilirsiniz.
Tüm test edilmemiş, muhtemelen derleme değil, ama fikir olsun
Bunu Paylaş:
Nasıl daha sonra düz metin alma için e...
-Eğer başka bir C/C makro ifadeleri Do...
Neden gcc eğer hız yerine BOYUTU için ...
Nasıl JSTL-eğer başka seçeneği kullanm...
Nasıl temiz tutulması modunda çalıştır...