Yapılandırma ayrıştırıcı - statik veya değil?

2 Cevap php

Config dosyası çeşitli biçimleri için ayrıştırıcılar isteyebilirsiniz sayede bir strateji düşünün, INI, örneğin, XML ve YAML söylüyorlar. Bu ayrıştırma, ortak bir sınıf örneğine 'Config_Data' demek neden olacaktır.

Düşüncelerim ayrıştırıcı çok basit bir görev, ve ben görebiliyorum hiçbir devlet olduğu gibi, bu iyi bir statik sınıf olarak uygulanır, böylece aşağıdaki istihdam olabilir:

Parser_Ini::parse(...);
Parser_Xml::parse(...);
...

Elbette bu statik sınıflar bir arayüz vb uygulamak değil bu benim için tamamen doğru gelmiyor, ama onlar iyi mantıklı görünüyor.

Ben konuda düşüncelerinizi bilmek ilgi olurdu :).

Thanks, James

2 Cevap

Oluşturma statik sınıflar sakıncaları çok şey var, ve ben seni yanıltıcı bulmak kolaylık bir duygu, başka, ondan ne kazanç görmüyorum.

Düzenli örnek sınıfları sınıfları yapmak ve bir arabirim uygularsanız, anında uygulanmasını değişen özgürlüğüne sahip olacaktır.

Lütfen çözümleyici bağlıdır sınıflar sadece bir parametre olarak arabirimi uygulaması alabilir ve böylece o sınıfın ihtiyacınız ne olursa olsun ayrıştırıcı-tipi enjekte edebilir.

Sen necesarily kodunuzu kalanı nesne yönelimli, özellikle, bu yaklaşım ile herhangi bir avantaj kazanıyor değiliz. Ayrıca çözümleyici oluşturmak için fabrika deseni gibi şeyler kullanıyorsanız sizi yasaklar.