Ben OOP'deki (a sınıfı) her nesne bir "şey", örneğin olmak istediğini biliyorum. kullanıcı, validator vb
Ben farklı parçaları birbirleri ile nasıl etkileşimde, MVC hakkında temel biliyorum.
Ancak, ben MVC modelleri geleneksel OOP tasarımına göre tasarlanmış olmalıdır eğer, o (solüsyon 2) her modeli veritabanı / tablo / satır olmalı, demek ki acaba?
Ya da aynı tabloyu etkileyen yöntemleri toplamak için daha fazla gibi niyeti veya ilgili tabloları bir demet (çözelti 1).
i "REZİL" Bir Kişiyi edebilmek ve bunu kaldırmak / a CRUD-mümkün Temas Grubu / eklemek istediğiniz CodeIgniter'daki bir adres defteri modülü, örneğin.
Modelleri çözüm 1: birlikte tüm ilgili yöntemler bunching (değil gerçek bir nesne değil, bir "paket")
class Contacts extends Model {
function create_contact() {)
function read_contact() {}
function update_contact() {}
function delete_contact() {}
function add_contact_to_group() {}
function delete_contact_from_group() {}
function create_group() {}
function read_group() {}
function update_group() {}
function delete_group() {}
}
Modeller çözüm 2: OOP yolu (dosya başına bir sınıf)
class Contact extends Model {
private $name = '';
private $id = '';
function create_contact() {)
function read_contact() {}
function update_contact() {}
function delete_contact() {}
}
class ContactGroup extends Model {
private $name = '';
private $id = '';
function add_contact_to_group() {}
function delete_contact_from_group() {}
function create_group() {}
function read_group() {}
function update_group() {}
function delete_group() {}
}
i modeller oluşturmak istediğinizde düşünmek nasıl bilmiyorum. ve yukarıdaki örnek bir Adres defteri oluşturmak için benim gerçek görevleri vardır. Meli ben sadece demet tüm işlevleri, birlikte bir sınıf. Daha sonra sınıf, farklı mantık (iletişim ve grubu) içerir, bu yüzden onların hiç biri için özel olan özellikleri tutamaz.
OOP göre çözelti, 2 çalışır. ama ben böyle bir bölünmesini yapmak gerekir neden bilmiyorum. ne faydaları örneğin bir kişi nesnesi sahip olacaktır. Onun kesinlikle değil bir User nesnesi, yani niçin kendi devlet (özellikleri ve yöntemleri) ile "canlı" Bir Kişiyi. Ben böyle düşünüyorum eğilimindedir Neden: bir şey bir devlete ihtiyacı varsa yöntemler durumuna göre devleti ya da başka şeyler etkileyebilir ki, sonra ben bir OOP sınıf oluşturmak.
böylece modelleri de "durum bilgisi" olmalıdır? hiçbir devlet gerekiyorsa, neden ben OOP desenine göre bunu oluşturmanız gerekir. sonra ben "paket" çözüm gibi birlikte sadece demet hepsini yapamadım.
OOP / MVC ile deneyimli çocuklar, bir bu çok somut görevi burada düşünmek gerekir nasıl bir ışık tutacak lütfen (ve genel olarak bir model oluştururken)
EDIT: MVC Kontrolörleri düşünmek geliyor. Bu "paket" çözüme göre oluşturulur. Bu beni düşündürüyor ...