Ben bir Oracle 10g veritabanı ve görüntüler Tablolar ve Listelerinde bu veri veri çeker ve görsel renk ve grafikleri ile bu verileri zenginleştirir Zend Framework ile yazılmış bir MVC uygulama var. Orada hiçbir ORM ve hayır, Güncelleme Oluştur veya tutulan, sadece saf Okuma silin. Veriler başka bir uygulamaya sokulmaktadır. DB veri temsil ettikleri kavramları sonra modellenmiştir ve (eski, değiştiremezsiniz) çeşitli diğer tablolardan bu verileri toplamak DB İzlenim erişilir, örneğin
| Event ID | Start | End | Status | Created_By |
-----------------------------------------------------------------------------
| 12345678 | 2009-10-01 12:00:00 | 2009-10-01 12:15:00 | booked | John Doe |
| 12345679 | 2009-11-01 13:00:00 | 2009-12-01 12:00:00 | booked | John Doe |
| 12345680 | 2009-11-01 13:00:00 | 2009-12-01 12:00:00 | tba | Jane Doe |
Kullanıcılar, sipariş ve adlı işletmeye sıralama, sütun ekranı etkileyebilir. Müşteriler sütunlar ve bazı değerlere sınırı sütun içeriğe erişime izin / inkar edemez. Kullanıcılar, istemci ayarlarını geçersiz kılamaz. Bir istemci temelde müşteriye ait bir kullanıcı için mevcut verilerin bir alt kümesini oluşturur sadece bir filtre ise bir kullanıcı, bir aktör. Kullanıcı ve İstemci ayarları kalıcı.
Benim şu anki yaklaşımı kabaca şöyle çalışıyor:
Request --> Controller
| <--> sanitizes and returns Request params
| ---> Facade (capsules steps to fetch View Data)
| | <--> Table Data Gateway builds Query for requested View
| | <--> Query Decorator¹ applies User/Client settings
| | <--> DB Adapter fetches RecordSet from decorated Query
| <----returns Recordset
| <--> applies RecordSet to View
| <--> Data-Aware ViewHelper render RecordSet (and View)
Response <--returns rendered View
¹
The Query Decorator can read in the persisted User/Client settings and add it to the basic Query object returned by the TDG on the fly.
Ancak, son zamanlarda ben bu yaklaşımı şüphe ve bunu geliştirmek isteyen oldum. Ben tamamen TDGS çıkarın ve UI Görünüm bina tamamen genel yapabilir sanırım; yalnız DB yapısına dayalı. Kullanıcılarının kesinlikle bu istiyorum. Şey Görünüm veriler hakkında bir şey bilmek zorunda olduğunu. ViewHelpers verileri zenginleştirmek ve genellikle Recordsets birden çok sütun açısından bunu yapmak için sütun adlarını bilmek zorunda. Onlar genel olamaz ve bir şey bu zaten sorun olduğunu söylüyor. Bu karışıklık gibi hissediyor. Ben sadece neden kesin olamaz.
Herhangi desenler, fikirler - ve görüşler - büyük takdir edilmektedir. Ben soru biraz belirsiz olduğunu biliyorum, ama dediğim gibi, bana bu yaklaşımı şüphe kılan kesin olamaz. Ben de iyi bir uygulama arıyorum sanırım bir sürdürülebilir şekilde kullanıcı ve müşteri özelleştirilebilir veritabanı merkezli uygulamaları oluşturmak için yaklaşır. Ben kesinlikle, sadece bazı fikirler ve belki diğer insanlar bu sorunu yaklaşım nasıl görmek için birkaç bağlantı bir çözüm gerekmez, bu yüzden bir sonraki üstlenmeden üzerinde bunu dikkate alabilir.
Note
I'll leave the question open for the full duration before accepting an answer. Any input is appreciated.