sfayuesa / abap-csv

CSV
0 stars 0 forks source link

Tell, Don't Ask #1

Open keremkoseoglu opened 7 months ago

keremkoseoglu commented 7 months ago

@sfayuesa selamlar 🖖 Tasarım, genel hatlarıyla iyi gözüküyor.

Öne çıkan önerim: ben olsam, ZIF_CSV içerisine SERIALIZE diye bir yordam koymazdım. Çünkü; "Tell don't ask" prensibi çerçevesinde; ideal şartlarda, nesneler dışarıya veri çıkarmak zorunda olmamalıdır. Veriler, nesne içerisinde gizli kalmalıdır. Nesneye "Bana verilerini teslim et" demek yerine, "Şu işi yapmanı istiyorum" demek daha doğrudur.

Veri alış-verişi, sadece Interface'ler arasında olabilir. Bunun haricinde; isteyen herkes alsın ve kullansın diye SERIALIZE gibi yordamlarla dışarıya veri çıkarmak bu prensibe uygun değildir.

Alternatif yöntemi, UML olarak paylaşıyorum. Net olmayan bir nokta varsa, yorumunuzla birlikte maddeyi bana Assign edebilirsiniz.

new diagram

sfayuesa commented 5 months ago

Selam @keremkoseoglu gonderdiginiz tasarim icin tesekkur ederim. Tasarim hakkinda asagidaki maddelerde degerli yorumlarinizi rica ederim:

Maddelerde kafa karisikligina sebep olduysam veya daha farkli sekilde ifade edilmesi gereken bir kisim varsa geri donusunuzu rica ederim.

keremkoseoglu commented 5 months ago

Selamlar; sınıf sayısının özelliklere göre kartezyen çarpım şeklinde artabildiği durumlar için "Bridge Design Pattern" diye bir çözüm var, bunu incelemenizi öneririm.

Diğer sorunuza gelince, ZCL_CSV içerisinden ZCL_SERVER_CSV_FILE - CREATE çağırılacaktır.