Libzypp/Design/Resolvable/Kinds

Şuraya atla: kullan, ara

Eşleştirilebilen Türler

Soru : Resolvable::ResKind büyük harf/küçük harf seçimine karşı duyarlı mıdır? Sanıyorum duyarsız olmasının tercih edilmesi daha iyi olabilir. (ya da değeri "enum" şeklinde dahili olarak saklamak) bunun dışında davranıldığı takdirde metadata dosya yazarları sorun çıkarabilirler.

Cevap : Resolvable::ResKind için iki yaklaşım olasılığı vardır.

1) Bir teker teker sayma öbeği olarak (enum, Rel öbeğinde olduğu gibi bir öbeğe bağlanabilir.)

2) KindOf<type> şablon öbeği.

Teker teker sayımlarda, çalışma sürecinde bilinen, belirli bir takım türlerle sınırlıyız. Bu, halen önemli bir sorun olmamakla birlikte, bilinen türler ile ilgili havuzları ve çözümleri kısıtlamaktadır.

KindOf<type> geliştirilebilr, bu nedenle kendi türünüz olan eşleştirilebilenleri yaratabilir ve onlarla birlikte sunulan çözümleyiciyi kullanabilirsiniz. Bu, bedeli olmadıkça şart değil. Bunu sunmaktan kendimizi alıkoymama eğilimindeyim.

KindOf<type> 'ın diğer bir yararı da yanlızca eşleştirilebilenlerle sınırlı olmamasıdır. Halen KindOf<Capability> türümüz var ve başka türlerimiz de gelecek. Her bir teker teker sayım öbeği için bir KindOf<type> yazmak zorunda kaldık.

Ayrıca, yeni kindvalues 'lar (tür değerleri) ortaya çıktıkça, bazı konularda harekete geçebilmek için sistem kütüğü ile ilişkilendirilerek işbirliği yapıllabilir. (URL protokolunun sistem kütüğünde bir kotarıcısı olup olmadığını görmek açısından yararlı olabilir.)

Sorunuza dönersek. Haklısınız. Öbeklerin işlenmesinde büyük/küçük harf kullanımına duyarsız olmasını varsayılan olarak kurgulayabiliriz. Hayatımızı ve de ayrıştırma işlemimizi kalaylaştıracaktır. İstenirse, ileride büyük/küçük harf duyarlılığı bir seçenek olarak eklenebilir.

KindOf 'ı küçük harf öbeğini saklamak ve sağlamak üzere değiştireceğim. Ve operator==/!= 'ı bir öbek ile kullanıldığında harf duyarlılığına etkisiz kılacak çekilde uyarlayacağım.


back

Trac'ta son düzeltme '11/24/05 18:41:07' 'kkaempf'


Trac'ta son düzeltme '11/24/05 18:41:07' 'kkaempf'


Trac'ta son düzeltme '11/24/05 18:41:07' 'kkaempf'