Sizin düşünceniz nedir (sic), özellikle CodeIgniters uygulanmasına ilişkin bu desen?
CI uygulanması hakkında çok diyemeyiz. Genellikle basit uygulamalar için bir şey ama AR kaçının. Tablo benim iş nesneleri 01:01 uymazsa, ben zor uygulama modelleme yapacak gibi, AR kullanmayın. Ben de iş nesnelere kalıcılık katmanı bağlanması fikrini sevmiyorum. Bu endişeleri ayrılığı bir ihlalidir. Neden Ürün kendisini kurtarmak için nasıl bilmeli? Remnantlı okuma: http://kore-nordmann.de/blog/why_active_record_sucks.html
EDIT after the comment of @kemp, I looked at the CI User Guide to see how they implemented AR:
Eğer gördüğünüz gibi PoEAA bir AR an object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data. Bu CI olsa ne değildir olmasıdır. Sadece sorguları oluşturmak için bir API sağlar. Ben orada AR ve iş nesneleri oluşturmak için kullanılabilecek genişleten bir model sınıf olduğunu, ancak daha sonra bir Row Data Gateway gibi olacağını anladım. PHPActiveRecord alternatif bir uygulama için check out.
Başka bir katmanda veritabanı sarma ile herhangi bir hız sorunları var mı?
Soyut ya da başka bir şey içine bir şey sarmak zaman, bu ham bunu yaparken üzerinde bir performans etkisi ile geliyor emin olabilirsiniz. Soru, bu uygulama için kabul edilebilir. Öğrenmek için tek yol kıyaslama gereğidir. Ek Okuma: http://stackoverflow.com/search?q=orm+slow
EDIT CI basit sorgu bina API durumda, ben performans etkisi ihmal olmayı kabul ediyorum. Sorguları Montaj mantıklı sadece db adaptörü ham SQL dizesi geçen kullanarak daha biraz daha fazla zaman alacak, ama bu sadece mikrosaniye olmalıdır. Ve bildiğim kadarıyla Kullanım Kılavuzu yapabilirsiniz ayrıca önbellek sorgu dizeleri onu gördük gibi. Ama ne zaman şüphe, kriter.
Çok karmaşık sorguları oluşturmak için çalışırken (mantık) dağınık olur mu?
Sorgularda bağlıdır. Ben oldukça dağınık SQL sorguları gördüm. OO arayüz üzerinden ifade edildiğinde bu güzel alamadım. API bağlı olarak, bunu aracılığıyla ifade etmek mümkün olmayacaktır sorguları bulabilirsiniz. Ama sonra tekrar, bu sorgular bağlıdır.
Avantajları çıkış yolu dezavantajları musunuz?
Sadece siz karar verebilirsiniz. Kolay bir programcı olarak hayatınızı yaparsa, emin neden olmasın. Sizin programlama ihtiyaçlarına uygun olursa, evet. Ruby on üzerinde ağır (AR) kavramı oluşturmak, bu yüzden tüm bu kötü olamaz (biz :) bu konuda çok iddia olabilir ancak)