Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Unit içerisinde procedure/fonksiyon/sabit
#1
Merhaba,

1.sorum
New Items'a tıklayıp yeni bir unit eklediğimizde bu unit'in içerisine yazılan procedurler/fonksiyonlar bir static olarak mı tutuluyor?

2.sorum
Örneğin şu şekilde unitin içerisine direk tanımlamakla
            
    function Gonder: TGonderilenBelge;
    function GelenleriAl(aBelgeTuru, aDonusTipiVersiyon, aSonAlinanBelgeSiraNumarasi: string): TList<TGelenBelgeBilgileri>;

sabit class içerisinde işlemleri yapmak
      
Efatura = class
     public
           class function Gonder: TGonderilenBelge;
           class function GelenleriAl(aBelgeTuru, aDonusTipiVersiyon, aSonAlinanBelgeSiraNumarasi: string): TList<TGelenBelgeBilgileri>;
end;

arasındaki fark tam olarak nedir?

3.sorum
Direkt olarak unit içerisinde tanımladığımız sabit bu şekilde olmasıyla
Örn:
      
      efaturadurum_BASARILI = 'AE00000';
      efaturabelgeturu_FATURA = 'INVOICE';
      efaturabelgeturu_UYGULAMAYANITI = 'APP_RESP';

Bu şekilde olmasının
      
Efatura = class
     public
           type
                 Durum = class
                 public
                       const
                             BASARILI = 'AE00000';
                 end;

                  BelgeTuru = class
                  public
                        const
                              FATURA = 'INVOICE';
                              UYGULAMAYANITI = 'APP_RESP';
                  end;
end;

tam olarak farkı nedir?
Ben 2.tarzda tutuyorum zaman zaman Efatura.Durum.BASARILI / Efatura.BelgeTuru.FATURA olarak ulaşması daha kolay ve daha derli toplu durduğu için.

Teşekkürler
Cevapla
#2
@malitutuncu  merhaba, internet uzerinde prosedural programlama ile OOP programlama hakkinda bilgi tararsan sorularina tatmin edici cevaplar alabilirsin.  Delphi ile ister prosedural istersek Object Orient  istersek her ikisinin karistirarak çorba şeklinde program yazabiliyoruz. Sordugun sorular o mu yoksa bu mu gibi tercihlere yonelik ki bu konuda keskin cizgiler "o dogrudur bu hatalidir" gibi net ayrimlar yok.

simdi maddelerine gecersek:

1-unit'in içerisine yazılan procedurler/fonksiyonlar bir static olarak mı tutuluyor?

Evet. statik tutulmaktan neyi kastettigin cok net degilsede dinamik olarak tutulmadigina gore statik tutuluyor diyebiliriz.

2-arasındaki fark tam olarak nedir?

Birisi procedural yazilmis digeri OPP. işlevsel bir farklilik yok.

3- Ben 2.tarzda tutuyorum zaman zaman Efatura.Durum.BASARILI / Efatura.BelgeTuru.FATURA olarak ulaşması daha kolay ve daha derli toplu durduğu için.

Tutmaya devam edebilirsin. Derli topl durmak burada teknik bir tanim olmamis Smile)) şoye demek daha mantikli OOP programlama tekniginin encapsulation (izole etme) özelliginden faydalanmissin. Gerekl mi ya da yazdigin programa bir pozitif katkisi var mi tartişılır. Derli toplu gorunmeyi yazdigin kodu formatlayarak da saglayabilirsin.

Son olarak: Object orient programlamayi (OOP) bir faydaya cevirebilmen icin objeye yönelik düşünmeye başlaman lazim, bu da "hadi oyle yapalim" demekle olmuyor. Bir cok yazilimci OOP teknikler kullanarak procedural programlar yaziyorlar (ki ben de bir cok kez boyle yapiyorum)  ardindan yukarida mesajinda sordugun sorular ortaya cikiyor Big Grin

kolay gelsin...
Cevapla
#3
(29-03-2019, Saat: 11:17)cexx Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.@malitutuncu  merhaba, internet uzerinde prosedural programlama ile OOP programlama hakkinda bilgi tararsan sorularina tatmin edici cevaplar alabilirsin.  Delphi ile ister prosedural istersek Object Orient  istersek her ikisinin karistirarak çorba şeklinde program yazabiliyoruz. Sordugun sorular o mu yoksa bu mu gibi tercihlere yonelik ki bu konuda keskin cizgiler "o dogrudur bu hatalidir" gibi net ayrimlar yok.

simdi maddelerine gecersek:

1-unit'in içerisine yazılan procedurler/fonksiyonlar bir static olarak mı tutuluyor?

Evet. statik tutulmaktan neyi kastettigin cok net degilsede dinamik olarak tutulmadigina gore statik tutuluyor diyebiliriz.

2-arasındaki fark tam olarak nedir?

Birisi procedural yazilmis digeri OPP. işlevsel bir farklilik yok.

3- Ben 2.tarzda tutuyorum zaman zaman Efatura.Durum.BASARILI / Efatura.BelgeTuru.FATURA olarak ulaşması daha kolay ve daha derli toplu durduğu için.

Tutmaya devam edebilirsin. Derli topl durmak burada teknik bir tanim olmamis Smile)) şoye demek daha mantikli OOP programlama tekniginin encapsulation (izole etme) özelliginden faydalanmissin. Gerekl mi ya da yazdigin programa bir pozitif katkisi var mi tartişılır. Derli toplu gorunmeyi yazdigin kodu formatlayarak da saglayabilirsin.

Son olarak: Object orient programlamayi (OOP) bir faydaya cevirebilmen icin objeye yönelik düşünmeye başlaman lazim, bu da "hadi oyle yapalim" demekle olmuyor. Bir cok yazilimci OOP teknikler kullanarak procedural programlar yaziyorlar (ki ben de bir cok kez boyle yapiyorum)  ardindan yukarida mesajinda sordugun sorular ortaya cikiyor Big Grin

kolay gelsin...

Merhaba hocam. 
Değerli görüşleriniz için teşekkür ederim.

OOP hakkında bilgi sahibiyim, uygun yazarım elimden geldiğince, 
prosedürel programlama hakkında bilgim yok , onu araştırayım o zaman taşlar daha iyi yerine oturacaktır =)
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Zeos TZStoredProc ile Procedure Sonucu Listeleme 3ddark 1 245 Dün, Saat: 10:25
Son Yorum: esistem
  Delphi Yeni Sürümlerde Fonksiyon Tanımlama Hayati 4 163 30-09-2019, Saat: 10:05
Son Yorum: Fesih ARSLAN
  Thread içerisinde Tstrings & TStringList yhackup 2 152 10-09-2019, Saat: 22:45
Son Yorum: yhackup
  Thread içerisinde sleep kullanımı berk06 1 206 26-08-2019, Saat: 11:36
Son Yorum: Tuğrul HELVACI
  Fonksiyon içinde create edilenler seci20 8 455 22-07-2019, Saat: 15:38
Son Yorum: Tuğrul HELVACI



Konuyu Okuyanlar: 1 Ziyaretçi