troikasix 0 Report post Posted July 11, 2007 Aku bukan professional, tapi mmg nak jadi professional.Korang penah tak bergelumang dgn camana nak design satu satu class. Contohnya, kalau ada satu class Customer, apa member function dia, apa method dalam Customer tu. Nak kena buat virtual function ke tidak. Pastu, nak kena create class Person dulu baru inherit dari Person buat Customer. Then Inherit lagi satu dari Person jadi Vendor. Tapi rupa-rupanya, Customer/Vendor tak semestinya orang, mungkin Company, atau Koperasi. Tukar pulak, nama class Person jadi class Entity. Pastu Entity tak semestinya ada method makan(), jalankaki() sbb koperasi tak reti jalanKaki(). Then bila nak save ke database, dah lain cerita pulak. Satu variable dalam Person, satu dalam Entity, satu dalam Customer. Lama-lama jadi mee goreng mamak harga $3.50.Itu kisah benar cerita aku buat Accounting pakai C++. Last last, suma jadi structured. Siap tapi penuh dgn lalat, kumbang, semut dan bermacam lagi binatang ganas yg omputeh panggil bug. 3 tahun kemudian, lepas pening kepala maintain software tu, aku jumpa benda alah ni. So, nak share sikit dgn korang kat Putera.com takyah ler melalui pengalaman pahit aku. Lagipun masa cari topik ni dalam Bahasa Melayu mmg tak ada. So sesapa kat sana yang ada ilmu dlm Pattern, luahkanlah utk membantu kengkawan melayu kita yg tak paham sgt bahasa omputeh tu termasuklah aku.Apa itu Design Pattern:Design pattern adalah cara menyelesaikan masalah 'design' dalam OOP. Ia mendefinasi struktur pelbagai class supaya memenuhi keperluan, tak lebih, tak kurang. Dan sebagai 'blueprint' apabila membuat implementasi untuk class2 dalam sesuatu program.Bila dah tahu apa itu Design Pattern, kena tahu apa yang 'BUKAN' pasal design pattern. -Design pattern BUKAN cara untuk mengstruktur KESELURUHAN program walaupun mampu utk sampai ke tahap tu.-Bukan pengganti PSEUDOCODE dalam algorithms tapi fokus kepada hubungan (relation) antara class.Kebaikan Penggunaan Design Patterns.Kebanyakan sekrg contoh kod yg org publish kat internet mesti follow design pattern. Tak caya gi tengok. .Net punya language macam C# dan VB.Net pun support pattern dalam language, built-in lagi-(cth:delegate/observer pattern).Bila pakai Design pattern, proses mengenalpasti implementasi akan jadi lebih terurus, pantas dan mudah. Orang yang baru join sesuatu projek pun akan cepat tangkap apa yg berlaku. Contohnya sekrg bila ada discussion pasal koding kat opensource, kalau tak bercakap dlm konteks pattern. Susah nak discuss.Akan datang saya akan mula explain pasal pattern dan cara koding utk C++. Tapi saya harap ramai yg akan buat research sendiri dan discuss kat sini. Lagi cepat kita semua belajar. Lagi cepat professional programmer melayu akan lahir.Senarai Pattern:Ada 23 jenis pattern yang terbahagi kepada 3 kumpulan besar.1- Creational :Cara kelahiran sesuatu objek Factory Method (Kilang buat objek) Abstract Factory (Kilang abstrak buat objek) Prototype (Clone, Java jer support, C++ tak) Singleton (Satu satunya objek dlm program) Builder 2- Struktural :Sifat sifat objek Adapter (Macam charger Nokia tukar AC jd DC) Bridge Composite Decorator (Macam mekap org pompuan, tak lawa jadi lawa) Facade (Depan cakap lain belakang cakap lain) Flyweight Proxy (Orang tengah mcm broker)3- Behavioural :Tingkahlaku objek Chain of Responsibility Command Interpreter Iterator (Kat STL cth paling baik) Mediator Memento Observer (Dlm .Net nama dia delegate) State Strategy Template Method VisitorSetakat ni jer buat masa ni. Tolong research kat internet. Ilmu pattern ni ilmu paling universal dalam programming. Kalau dapat tangkap, program dlm apa bahasa pun ngkorang akan jadi pro.-Semoga ramai Professional Melayu akan lahir-Wassalam Quote Share this post Link to post Share on other sites
powerabu 0 Report post Posted July 11, 2007 wlaupun aku tak tau sangat pasal c, tapi cubalah korang tengok link bawah ni:-Design Pattern In Simple ExampleMungkin xeonn boleh terangkan lebih lanjut di sini. Dan mebantu user lain yg ingin mengetahui lebih lanjut dan tak paham.Lepas tengok topik sajerlah cari pasal design pattern pastu jumpalah link di atas tadi. Quote Share this post Link to post Share on other sites
troikasix 0 Report post Posted July 12, 2007 Link yang ko bagi tu mmg power. Simple tapi padat. Aku terus bookmark. tq tq.However, Design Pattern ni bukan utk C++ shj tapi dia utk semua jenis bahasa yg support Object Oriented. Java, C#, VB.Net.. etc.. Jgn risau kalau korang tak tahu C++.Masa kita belajar OO, buku dan lecturer biasanya guna contoh yg simple. Diorang bagi cth, kereta sbg class, orang sbg class. Buku Deitel&Deitel pulak bagi contoh lif. Bukan nak kecikkan sistem pengajaran, itu semua nak stress yang konsep OO adalah bersandarkan objek. Dah betul caranya.Masa belajar bolehlah camtu, lg senang faham apa itu OO. Dlm real life, kita takkan tulis program yang ada objek kereta, pokok, kucing, semut, minuman dan pinggan. Nak print 'semut' pegi printer camana... Design Pattern bantu tentukan objek apa yg akan wujud dlm program. Saya mmg akan kembangkan lagi penerangan. Tapi bukan kat satu thread saja. Saya baca thread panjang saya sendiri boring. Setiap pattern kena bincang panjang lebar. Perlukan Q&A gak. Saya pun masih blaja, tak semestinya apa yg saya tulis sumanya betul. Quote Share this post Link to post Share on other sites