Design Pattern for Designing Your Code

Wildan Fahmi Gunawan
Scrum Booster
Published in
2 min readApr 18, 2019

Design Pattern merupakan suatu solusi dari permasalahan yang sering ditemui dalam membuat sebuah perangkat lunak. solusi ini tidak langsung berbentuk kode melainkan sebuah deskripsi atau template dalam menyelesaikan solusi tersebut yang dapat diimplementasi dalam kondisi yang berbeda-beda. Penggunaan design pattern dapat mempercepat proses pengembangan perangkat lunak karena menyediakan struktur dan template yang sudah teruji. Design pattern terbagi menjadi tiga jenis. ada Creational design patters, Structural design patterns, dan Behavioral design patterns.

Dalam pengembangan Scrum Booster API, ada beberapa design patterns yang digunakan. Diantaranya adalah Template Method Design Pattern dan Model View Controller Pattern.

Template Method Design Pattern

Tujuan dari Template Method Design Pattern adalah dengan mendefinisikan kerangka dari algoritma dalam suatu operasi kemudian menurunkannya menjadi subclass-subclass. Template Method membuat subclass dapat didefinisikan ulang sesuai dengan kebutuhan tanpa mempengaruhi kerangka dari algoritma secara keseluruhan.

Model View Controller Pattern

MVC Pattern merupakan design pattern yang mendeskripsikan bahwa sebuah aplikasi terdiri dari Model Data, Pengontrol Informasi, dan Penampil Informasi. MVP Pattern ini digunakan dalam framework Django.

Model = Berisi pengaturan data dan tidak mengandung bagaimana cara penggunaan datanya.

View = Berisi pengaturan bagaimana data ditampilkan kepada user, namun tidak memiliki informasi apa datanya dan apakah pengguna dapat memanipulasi data tersebut

Controller = Menjadi penghubung antara view dan model, controller merespon request dari pengguna dan menghubungkannya dengan model dan view.

Refactoring

Refactoring adalah usaha untuk mengubah struktur kode program agar lebih efektif dan lebih mudah dibaca. Inti dari refactoring adalah melakukan serangkaian perubahan kecil yang tetap menjaga perilaku yang sebenarnya terlalu kecil untuk dikerjakan. Namun, hasil dari kumpulan perubahan ini cukup signifikan. Refactoring dapat mengurangi terjadinya error.

Terdapata beberapa teknik yang digunakan untuk Refactoring. Diantaranya adalah Extract Method, Inline Method, Extract Variable, Inline Temp, Replace Temp with Query, Split Temporary Variable, Remove Assignments to Parameters, Replace Method with Method Object, dan Subtitute Algorithm

--

--