Büyük bir yazılım uygulaman olduğunu düşünün, yüzlerce belkide binlerce veri tabanında tabloların var.
Bu tablolarda data alış verişi bulunmak için her defasında database (veri tabanı) bağlanma işlemini yapacak , sonrasında da gereken SQL komutlarınızı yazıp dataların update / Insert / delete işlemlerini yaptıktan sonra bağlantıyı kapatacaksınız. Ve bunları her bir tablo için yapacaksınız. Bunları yaparken zaman kaybı olacak, uygulamanız yavaş çalışacak, siz de development yapmak için harcadığınız zamanı tekrar eden bu zahmetli işte harcayacksınız.
--> veri tabanına bağlan
-- insert into .... company_table
-- select * from company_table veya select .. (x verisi) from company_table
-- delete (x verisi) from company_table
ne kadar SQL lazımsa artık :)
--> veri tabanı bağlantısını kapat
bu tablolarıdan bir sürü olduğunu düşünürsen her birisi için SQL mi yazacaksın? Hayır. Senin tablolarına karşılık gelecek birer NESNE (obje) yaratacaksın. Öyle bir yapı düşünün ki, sizin sadece yaratmış olduğunuz bir obje üzerinden sizin için veri tabanına gidip o objeye ait tabloyu oluşturacak ve datalarınızı objelerin üzerinden database'e gönderecek. Siz bir kez db ayarlarını yapacaksınız, o araç o bilgileri kullanarak bağlanma işini kendisi yapacaktır.
Siz bizzat "connection aç - datayı update/inset/delete- connection kapat" işlemine ve gereksiz SQL yazma zahmetine girmeyeceksiniz.
obje.insert()
obje.update()
obje.delete()
gibi kısacık bir yöntem ile datalarınızı obje üzerinden setleyerek insert/update/delete yapabilirsiniz.
Persistance katmanı nesnelerinizin database ile ilişkisini yönetir desem yanlış olmaz sanırım.