SlideShare a Scribd company logo
27
ABAP MİMARİSİ
HAKKINDAYENİ
BİR KİTAP:“DESIGN
PATTERNS IN ABAP
OBJECTS”
Dr. Kerem Köseoğlu
Freelance SAP Yazılım Mimarı
Bir bina inşa etme ihtiyacı ortaya
çıktıktan sonra, işe mimari tasarım
ile başlanır. Ne yaptığını bilen
tecrübeli bir mimar binanın tasarımını
tamamlamadan inşaat başlamadığı gibi,
mimarlık görevini de sadece konunun
uzmanı üstlenir. İşin sahibi de, işçi de
mimarlık işini yapmaz.
Özüne baktığımızda; aynı durum
yazılım dünyası için de geçerlidir.Yeni
bir yazılımın geliştirilmesi de mimari
tasarım ile başlar.Yazılım mimarisi,
ayrı bir uzmanlık konusudur; analist,
danışman veya geliştirici olmanın
ötesinde bir tecrübe ve eğitim gerektirir.
Ancak mimari tasarım, pek çok durumda
kullanıcı-analist-danışman-geliştirici
arasında bir yerlerde erimektedir. Başlı
başına bir uzmanlık konusu olan yazılım
mimarlığı, aslında projelerde ayrı bir rol
olarak düşünülmelidir.
Tecrübeli bir mimarın elinden çıkan
bir yapı; güçlü, esnek, geliştirilebilir
ve tekrarsız parçalardan oluşacaktır.
Bu yapıdaki parçalar birbirinden
bağımsız test edilebileceği gibi,
ihtiyaç değiştiğinde başka parçalarla
yer değiştirebilir veya ileride başka
ihtiyaçlarda tekrar da kullanılabilir. Bu da
şirketler açısından, daha düşük risk ve
maliyet ile daha kaliteli yazılıma sahip
olmak anlamına gelir.
Bu tarz bir mimari yaklaşım için,
Amerika’yı tekrar keşfetmeye gerek
yok.Yazılım dünyasında“Design
Pattern”adıyla bilinen hazır şablonlar,
sık karşılaşılan ihtiyaç ve problemlere
karşılık ortaya çıkmıştır. Zamanın
testinden geçen Design Pattern’lar,
dilden ve platformdan bağımsız olarak
tüm dünyada kullanılmaktadır.
Örneğin; bir programdaki olaylardan
bir başka programın da haberi
olması gerekiyorsa,“Observer
Design Pattern”bu konuda hazır
bir mimari şablon önerir. Alternatif
veri kaynakları söz konusuysa,“Data
Access Object”şablonu sayesinde iş
katmanı ile veri katmanı izole edilebilir.
Hafızayı zorlayacak programlar
için,“Flyweight”şablonu sayesinde
nesnelerin paylaşılması ve hafıza
ihtiyacının azalması sağlanabilir. Farklı
geliştiriciler tarafından ek özellik
eklenebilecek merkezi sınıflar,“Visitor
Design Pattern”sayesinde değişikliğe
kapalı ama geliştirmeye açık hale
getirilebilir. Değişik senaryolarda farklı
algoritmayla çalışması gereken bir
program için“Strategy Design Pattern”
kullanılabilir. Onay stratejisi belirlemek
gibi değişken koşullara bağlı karar
sistemleri,“Chain of Responsibility”ile
kolay ve esnek bir şekilde uygulamaya
alınabilir.
Design Pattern kadar, kaçınılması
gereken Anti-Pattern’ların farkında
olmak da mimari tecrübenin bir
parçasıdır. Örneğin; sorumlulukların
tamamını tek bir sınıfa yüklemek“Blob”
adı verilen zararlı bir Anti-Pattern’dir.
Programlar arasında kodları paylaşmak
yerine kopyalamak,“Copy-Paste
Programming”olarak adlandırılır. Alt
katmanların üst katmanlara bağımlı hale
getirilmesi,“Jumble”olarak etiketlenir.
Hiç kırılmadan yazılmış yüzlerce satır
kod,“Spaghetti Code”adı verilen bir
Anti-Pattern’dır.
Örnekler çoğaltılabilir. İşin özü; sık
rastlanan yazılım ihtiyaçları için, analist/
geliştiricinin tecrübesi kapsamında bir
anlamda“şansa bırakılmış”bir tasarıma
gitmek yerine, zamanın testinden
geçmiş Design Pattern’lar örnek alınarak
ve Anti-Pattern’lardan kaçınılarak daha
kaliteli bir mimari ile işe başlanabilir.
Bu konuda kaynak aradığınızda,
platform bağımsız veya SAP dışı
platformlara yönelik pek çok kitap
bulabilirsiniz. Ancak; doğrudan doğruya
SAP/ABAP platformu üzerinde Design
Pattern uygulamalarını anlatan kapsamlı
bir kitap, bu konuda eksikliği hissedilen
bir kaynak idi.
SAP Press’ten yayımlanan“Design
Patterns in ABAP Objects”adlı kitabımı,
tam da bu ihtiyaca yönelik olarak
kaleme aldım.Yaklaşık 400 sayfalık
bu kitapta, yazılım mimarisinin temel
modelleri olarak kabul edilen Design
Pattern’ların SAP/ABAP platformunda
nasıl uygulanabileceği incelenmektedir.
Her bir bölüm, 15 yıllık danışmanlık
tecrübemde içinde bulunduğum
projelerden alınmış örneklerden oluşan
vaka analizlerini de içermektedir.
Tam 27 Design Pattern’ın tasarım
şemaları ve kod örnekleriyle birlikte
incelendiği kitap, aynı zamanda yazılım
mimarisinin temel prensiplerini ve
sık yapılan mimari hataları da ortaya
koymaktadır.
Bir senelik titiz bir çalışmayla ortaya
çıkan ve piyasada yayınlanmış beşinci
eserim olan bu kitabı; programcılıktan
mimarlığa adım atmak isteyen ABAP
danışmanları kadar, daha esnek ve
sağlam fonksiyonel tasarımlar yapmak
isteyen modül danışmanlarına da
tavsiye ediyorum.
.................................................................................................................................................................. KÖŞE YAZISI

More Related Content

Similar to ABAP mimarisi hakkında yeni bir kitap: "Design Patterns in ABAP Objects"

Yazılım mimarisi yazılım müh.
Yazılım mimarisi yazılım müh.Yazılım mimarisi yazılım müh.
Yazılım mimarisi yazılım müh.
Hüseyin Örer
 
MART - www.martgeldi.com - Lego Scrum Simülasyonu Eğitimi
MART - www.martgeldi.com - Lego Scrum Simülasyonu EğitimiMART - www.martgeldi.com - Lego Scrum Simülasyonu Eğitimi
MART - www.martgeldi.com - Lego Scrum Simülasyonu Eğitimi
MART İnsan Kaynakları ve Yönetim Koçluk Eğitim Danışmanlık Limited Şirketi
 
JİRA'ya Giriş / Atlassian
JİRA'ya Giriş / AtlassianJİRA'ya Giriş / Atlassian
JİRA'ya Giriş / Atlassian
Cansu Kaya
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
Lemi Orhan Ergin
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]Erol Bozkurt
 
Design Patterns in PHP
Design Patterns in PHPDesign Patterns in PHP
Design Patterns in PHP
Haldun Buyorük
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
Oguz Bayram
 
Agi̇le Yöntemleri̇
Agi̇le Yöntemleri̇Agi̇le Yöntemleri̇
Agi̇le Yöntemleri̇Fatih Soysal
 
Maltepe Üniversitesi - Spring AOP
Maltepe Üniversitesi - Spring AOPMaltepe Üniversitesi - Spring AOP
Maltepe Üniversitesi - Spring AOP
Mimar Aslan
 
ERP Projelerinde Özelleştirme
ERP Projelerinde ÖzelleştirmeERP Projelerinde Özelleştirme
ERP Projelerinde Özelleştirme
Workcube e-Business Inc.
 
Çevik Manifesto Sunum
Çevik Manifesto Sunum Çevik Manifesto Sunum
Çevik Manifesto Sunum
ERCAN CETIN
 
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Cenk Derinozlu
 
Cevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP PratikleriCevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP Pratikleri
Osman DÖNER, PMP, PMI-ACP
 
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech DeneyimleriGartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
halilaksu
 
MART - www.martgeldi.com - İş Analizi Eğitimlerimiz
MART - www.martgeldi.com - İş Analizi EğitimlerimizMART - www.martgeldi.com - İş Analizi Eğitimlerimiz
MART - www.martgeldi.com - İş Analizi Eğitimlerimiz
MART İnsan Kaynakları ve Yönetim Koçluk Eğitim Danışmanlık Limited Şirketi
 
Implementation.pptx
Implementation.pptxImplementation.pptx
Implementation.pptx
glkabakc
 
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter SunumuÖzgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumuibrahimhizlioglu
 
Mikideas Eğitim ve Danışmanlık Hizmetleri Broşürü
Mikideas Eğitim ve Danışmanlık Hizmetleri BroşürüMikideas Eğitim ve Danışmanlık Hizmetleri Broşürü
Mikideas Eğitim ve Danışmanlık Hizmetleri Broşürü
Erol Bozkurt
 

Similar to ABAP mimarisi hakkında yeni bir kitap: "Design Patterns in ABAP Objects" (20)

Yazılım mimarisi yazılım müh.
Yazılım mimarisi yazılım müh.Yazılım mimarisi yazılım müh.
Yazılım mimarisi yazılım müh.
 
MART - www.martgeldi.com - Lego Scrum Simülasyonu Eğitimi
MART - www.martgeldi.com - Lego Scrum Simülasyonu EğitimiMART - www.martgeldi.com - Lego Scrum Simülasyonu Eğitimi
MART - www.martgeldi.com - Lego Scrum Simülasyonu Eğitimi
 
JİRA'ya Giriş / Atlassian
JİRA'ya Giriş / AtlassianJİRA'ya Giriş / Atlassian
JİRA'ya Giriş / Atlassian
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
 
Analist Eğitimi - Tüm Bölümler - [535 Slides]
Analist Eğitimi - Tüm Bölümler -  [535 Slides]Analist Eğitimi - Tüm Bölümler -  [535 Slides]
Analist Eğitimi - Tüm Bölümler - [535 Slides]
 
Design Patterns in PHP
Design Patterns in PHPDesign Patterns in PHP
Design Patterns in PHP
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Gizli Tehlike : AntiPatterns
Gizli Tehlike : AntiPatternsGizli Tehlike : AntiPatterns
Gizli Tehlike : AntiPatterns
 
Agi̇le Yöntemleri̇
Agi̇le Yöntemleri̇Agi̇le Yöntemleri̇
Agi̇le Yöntemleri̇
 
Maltepe Üniversitesi - Spring AOP
Maltepe Üniversitesi - Spring AOPMaltepe Üniversitesi - Spring AOP
Maltepe Üniversitesi - Spring AOP
 
ERP Projelerinde Özelleştirme
ERP Projelerinde ÖzelleştirmeERP Projelerinde Özelleştirme
ERP Projelerinde Özelleştirme
 
Çevik Manifesto Sunum
Çevik Manifesto Sunum Çevik Manifesto Sunum
Çevik Manifesto Sunum
 
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
 
Cevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP PratikleriCevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP Pratikleri
 
Bilgi sis..
Bilgi sis..Bilgi sis..
Bilgi sis..
 
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech DeneyimleriGartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
Gartner EEE - Yazılım Geliştirme - SoftTech Deneyimleri
 
MART - www.martgeldi.com - İş Analizi Eğitimlerimiz
MART - www.martgeldi.com - İş Analizi EğitimlerimizMART - www.martgeldi.com - İş Analizi Eğitimlerimiz
MART - www.martgeldi.com - İş Analizi Eğitimlerimiz
 
Implementation.pptx
Implementation.pptxImplementation.pptx
Implementation.pptx
 
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter SunumuÖzgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
 
Mikideas Eğitim ve Danışmanlık Hizmetleri Broşürü
Mikideas Eğitim ve Danışmanlık Hizmetleri BroşürüMikideas Eğitim ve Danışmanlık Hizmetleri Broşürü
Mikideas Eğitim ve Danışmanlık Hizmetleri Broşürü
 

More from Dr. Kerem Koseoglu

SAP WorkFlow Kılavuzu
SAP WorkFlow KılavuzuSAP WorkFlow Kılavuzu
SAP WorkFlow Kılavuzu
Dr. Kerem Koseoglu
 
Avrupa'da ABAP Kariyeri
Avrupa'da ABAP KariyeriAvrupa'da ABAP Kariyeri
Avrupa'da ABAP Kariyeri
Dr. Kerem Koseoglu
 
Zaman Yönetimi TEDx Sunumu
Zaman Yönetimi TEDx SunumuZaman Yönetimi TEDx Sunumu
Zaman Yönetimi TEDx Sunumu
Dr. Kerem Koseoglu
 
ABAP 7.x New Features and Commands
ABAP 7.x New Features and CommandsABAP 7.x New Features and Commands
ABAP 7.x New Features and Commands
Dr. Kerem Koseoglu
 
Fiori eğitimi - kod
Fiori eğitimi - kodFiori eğitimi - kod
Fiori eğitimi - kod
Dr. Kerem Koseoglu
 
Fiori eğitimi - sunum
Fiori eğitimi - sunumFiori eğitimi - sunum
Fiori eğitimi - sunum
Dr. Kerem Koseoglu
 
SPSS Manual (Turkish)
SPSS Manual (Turkish)SPSS Manual (Turkish)
SPSS Manual (Turkish)
Dr. Kerem Koseoglu
 
Kordsa Design Pattern Eğitimi
Kordsa Design Pattern EğitimiKordsa Design Pattern Eğitimi
Kordsa Design Pattern Eğitimi
Dr. Kerem Koseoglu
 
Web Dynpro
Web DynproWeb Dynpro
Web Dynpro
Dr. Kerem Koseoglu
 
Zaman Yönetimi
Zaman YönetimiZaman Yönetimi
Zaman Yönetimi
Dr. Kerem Koseoglu
 
Design Patterns in ABAP Objects - SAP Forum / Tech Ed sunumu (2016)
Design Patterns in ABAP Objects - SAP Forum / Tech Ed sunumu (2016)Design Patterns in ABAP Objects - SAP Forum / Tech Ed sunumu (2016)
Design Patterns in ABAP Objects - SAP Forum / Tech Ed sunumu (2016)
Dr. Kerem Koseoglu
 
Temel ABAP eğitim kılavuzu
Temel ABAP eğitim kılavuzuTemel ABAP eğitim kılavuzu
Temel ABAP eğitim kılavuzu
Dr. Kerem Koseoglu
 
SAP Portal kılavuzu
SAP Portal kılavuzuSAP Portal kılavuzu
SAP Portal kılavuzu
Dr. Kerem Koseoglu
 
SAP BRF+ Kılavuzu
SAP BRF+ KılavuzuSAP BRF+ Kılavuzu
SAP BRF+ Kılavuzu
Dr. Kerem Koseoglu
 
Correlation Between Proper Training / Involvement and ERP Acceptance and the ...
Correlation Between Proper Training / Involvement and ERP Acceptance and the ...Correlation Between Proper Training / Involvement and ERP Acceptance and the ...
Correlation Between Proper Training / Involvement and ERP Acceptance and the ...
Dr. Kerem Koseoglu
 
SQL Injection - Web siteniz tehdit altında mı?
SQL Injection - Web siteniz tehdit altında mı?SQL Injection - Web siteniz tehdit altında mı?
SQL Injection - Web siteniz tehdit altında mı?
Dr. Kerem Koseoglu
 

More from Dr. Kerem Koseoglu (16)

SAP WorkFlow Kılavuzu
SAP WorkFlow KılavuzuSAP WorkFlow Kılavuzu
SAP WorkFlow Kılavuzu
 
Avrupa'da ABAP Kariyeri
Avrupa'da ABAP KariyeriAvrupa'da ABAP Kariyeri
Avrupa'da ABAP Kariyeri
 
Zaman Yönetimi TEDx Sunumu
Zaman Yönetimi TEDx SunumuZaman Yönetimi TEDx Sunumu
Zaman Yönetimi TEDx Sunumu
 
ABAP 7.x New Features and Commands
ABAP 7.x New Features and CommandsABAP 7.x New Features and Commands
ABAP 7.x New Features and Commands
 
Fiori eğitimi - kod
Fiori eğitimi - kodFiori eğitimi - kod
Fiori eğitimi - kod
 
Fiori eğitimi - sunum
Fiori eğitimi - sunumFiori eğitimi - sunum
Fiori eğitimi - sunum
 
SPSS Manual (Turkish)
SPSS Manual (Turkish)SPSS Manual (Turkish)
SPSS Manual (Turkish)
 
Kordsa Design Pattern Eğitimi
Kordsa Design Pattern EğitimiKordsa Design Pattern Eğitimi
Kordsa Design Pattern Eğitimi
 
Web Dynpro
Web DynproWeb Dynpro
Web Dynpro
 
Zaman Yönetimi
Zaman YönetimiZaman Yönetimi
Zaman Yönetimi
 
Design Patterns in ABAP Objects - SAP Forum / Tech Ed sunumu (2016)
Design Patterns in ABAP Objects - SAP Forum / Tech Ed sunumu (2016)Design Patterns in ABAP Objects - SAP Forum / Tech Ed sunumu (2016)
Design Patterns in ABAP Objects - SAP Forum / Tech Ed sunumu (2016)
 
Temel ABAP eğitim kılavuzu
Temel ABAP eğitim kılavuzuTemel ABAP eğitim kılavuzu
Temel ABAP eğitim kılavuzu
 
SAP Portal kılavuzu
SAP Portal kılavuzuSAP Portal kılavuzu
SAP Portal kılavuzu
 
SAP BRF+ Kılavuzu
SAP BRF+ KılavuzuSAP BRF+ Kılavuzu
SAP BRF+ Kılavuzu
 
Correlation Between Proper Training / Involvement and ERP Acceptance and the ...
Correlation Between Proper Training / Involvement and ERP Acceptance and the ...Correlation Between Proper Training / Involvement and ERP Acceptance and the ...
Correlation Between Proper Training / Involvement and ERP Acceptance and the ...
 
SQL Injection - Web siteniz tehdit altında mı?
SQL Injection - Web siteniz tehdit altında mı?SQL Injection - Web siteniz tehdit altında mı?
SQL Injection - Web siteniz tehdit altında mı?
 

ABAP mimarisi hakkında yeni bir kitap: "Design Patterns in ABAP Objects"

  • 1. 27 ABAP MİMARİSİ HAKKINDAYENİ BİR KİTAP:“DESIGN PATTERNS IN ABAP OBJECTS” Dr. Kerem Köseoğlu Freelance SAP Yazılım Mimarı Bir bina inşa etme ihtiyacı ortaya çıktıktan sonra, işe mimari tasarım ile başlanır. Ne yaptığını bilen tecrübeli bir mimar binanın tasarımını tamamlamadan inşaat başlamadığı gibi, mimarlık görevini de sadece konunun uzmanı üstlenir. İşin sahibi de, işçi de mimarlık işini yapmaz. Özüne baktığımızda; aynı durum yazılım dünyası için de geçerlidir.Yeni bir yazılımın geliştirilmesi de mimari tasarım ile başlar.Yazılım mimarisi, ayrı bir uzmanlık konusudur; analist, danışman veya geliştirici olmanın ötesinde bir tecrübe ve eğitim gerektirir. Ancak mimari tasarım, pek çok durumda kullanıcı-analist-danışman-geliştirici arasında bir yerlerde erimektedir. Başlı başına bir uzmanlık konusu olan yazılım mimarlığı, aslında projelerde ayrı bir rol olarak düşünülmelidir. Tecrübeli bir mimarın elinden çıkan bir yapı; güçlü, esnek, geliştirilebilir ve tekrarsız parçalardan oluşacaktır. Bu yapıdaki parçalar birbirinden bağımsız test edilebileceği gibi, ihtiyaç değiştiğinde başka parçalarla yer değiştirebilir veya ileride başka ihtiyaçlarda tekrar da kullanılabilir. Bu da şirketler açısından, daha düşük risk ve maliyet ile daha kaliteli yazılıma sahip olmak anlamına gelir. Bu tarz bir mimari yaklaşım için, Amerika’yı tekrar keşfetmeye gerek yok.Yazılım dünyasında“Design Pattern”adıyla bilinen hazır şablonlar, sık karşılaşılan ihtiyaç ve problemlere karşılık ortaya çıkmıştır. Zamanın testinden geçen Design Pattern’lar, dilden ve platformdan bağımsız olarak tüm dünyada kullanılmaktadır. Örneğin; bir programdaki olaylardan bir başka programın da haberi olması gerekiyorsa,“Observer Design Pattern”bu konuda hazır bir mimari şablon önerir. Alternatif veri kaynakları söz konusuysa,“Data Access Object”şablonu sayesinde iş katmanı ile veri katmanı izole edilebilir. Hafızayı zorlayacak programlar için,“Flyweight”şablonu sayesinde nesnelerin paylaşılması ve hafıza ihtiyacının azalması sağlanabilir. Farklı geliştiriciler tarafından ek özellik eklenebilecek merkezi sınıflar,“Visitor Design Pattern”sayesinde değişikliğe kapalı ama geliştirmeye açık hale getirilebilir. Değişik senaryolarda farklı algoritmayla çalışması gereken bir program için“Strategy Design Pattern” kullanılabilir. Onay stratejisi belirlemek gibi değişken koşullara bağlı karar sistemleri,“Chain of Responsibility”ile kolay ve esnek bir şekilde uygulamaya alınabilir. Design Pattern kadar, kaçınılması gereken Anti-Pattern’ların farkında olmak da mimari tecrübenin bir parçasıdır. Örneğin; sorumlulukların tamamını tek bir sınıfa yüklemek“Blob” adı verilen zararlı bir Anti-Pattern’dir. Programlar arasında kodları paylaşmak yerine kopyalamak,“Copy-Paste Programming”olarak adlandırılır. Alt katmanların üst katmanlara bağımlı hale getirilmesi,“Jumble”olarak etiketlenir. Hiç kırılmadan yazılmış yüzlerce satır kod,“Spaghetti Code”adı verilen bir Anti-Pattern’dır. Örnekler çoğaltılabilir. İşin özü; sık rastlanan yazılım ihtiyaçları için, analist/ geliştiricinin tecrübesi kapsamında bir anlamda“şansa bırakılmış”bir tasarıma gitmek yerine, zamanın testinden geçmiş Design Pattern’lar örnek alınarak ve Anti-Pattern’lardan kaçınılarak daha kaliteli bir mimari ile işe başlanabilir. Bu konuda kaynak aradığınızda, platform bağımsız veya SAP dışı platformlara yönelik pek çok kitap bulabilirsiniz. Ancak; doğrudan doğruya SAP/ABAP platformu üzerinde Design Pattern uygulamalarını anlatan kapsamlı bir kitap, bu konuda eksikliği hissedilen bir kaynak idi. SAP Press’ten yayımlanan“Design Patterns in ABAP Objects”adlı kitabımı, tam da bu ihtiyaca yönelik olarak kaleme aldım.Yaklaşık 400 sayfalık bu kitapta, yazılım mimarisinin temel modelleri olarak kabul edilen Design Pattern’ların SAP/ABAP platformunda nasıl uygulanabileceği incelenmektedir. Her bir bölüm, 15 yıllık danışmanlık tecrübemde içinde bulunduğum projelerden alınmış örneklerden oluşan vaka analizlerini de içermektedir. Tam 27 Design Pattern’ın tasarım şemaları ve kod örnekleriyle birlikte incelendiği kitap, aynı zamanda yazılım mimarisinin temel prensiplerini ve sık yapılan mimari hataları da ortaya koymaktadır. Bir senelik titiz bir çalışmayla ortaya çıkan ve piyasada yayınlanmış beşinci eserim olan bu kitabı; programcılıktan mimarlığa adım atmak isteyen ABAP danışmanları kadar, daha esnek ve sağlam fonksiyonel tasarımlar yapmak isteyen modül danışmanlarına da tavsiye ediyorum. .................................................................................................................................................................. KÖŞE YAZISI