Veri Mapper + Observer desen

2 Cevap php

PHP bir uygulama inşa ediyorum ve benim DB erişimi için veri mapper desen kullanıyorum. Ben bunlar otomatik olarak beni elle bunları geri ayrıştırmak zorunda kalmadan geri veritabanına herhangi bir değişikliği kaydetmek böylece tüm mappers yarattıkları varlıkları gözlemlemek için Gözlemci desenini kullanarak düşündüğünü.

Ben sadece bu iyi bir fikir olup olmadığını merak, ya da kötü bir uygulama ise vb oldu?

Ben genellikle bir hiyerarşi içinde birbirine bağlı birkaç nesneler ile çalışma, ve şu an için her nesneyi ayrıştırmak için yaşıyorum oldukça sıkıcı olduğu, elle mapper, bu yüzden sadece daha iyi bir çözüm ile gelip çalışıyorum.

Thanks, Jack

2 Cevap

Kesinlikle benim için iyi bir fikir gibi geliyor. Ne yaptığınızı bitirdiniz sonra (genellikle tek bir işlem olarak) Eşlediğiniz nesnelere yapılan ve taahhüt ettik değişiklikleri izlemek amacıyla Unit Of Work desenine benzer.

I Outlet ve benzeri projeleri Repose PHP sizin için bu sağlamak yanı sıra haritalama ağrı bazı hafifletilmesi inanıyorum, ama ben şahsen bunları kullanmadım.

Nesne hiyerarşileri Eğer temiz izolasyon Domain Driven Design yolunu ve fayda aşağı gitmek istiyorsanız getiriyor Aggregates olarak görülüyor olmaktan yararlanabilir gibi bir kenara, bu sesler.

-

Edit: eZ Components oldukça tam özellikli PHP ORM çözüm vardır ve Doctrine 2.0 da bu şekilde şekilleniyor gibi de görünüyor.

-

Düzenleme 2: wouldn't görüşüyorlar sorun için uskur veya Creole bakmak. Creole bir ORM değil, PDO benzer bir DB soyutlama katmanı daha - ve proje artık resmi olarak "Ölü" dir. Tahrik böylece etki alanı nesneleri çok daha fazla sebat sorumluluk ile bitirmek ve AFAIK bu çalışma tesisinin bir ünitesinin içermez, ActiveRecord desen, değil DataMapper desen kullanır.

Eğer Orm'un check out Propel ve Creole içine arıyoruz.