Refactoring & Design Pattern

Benedictus Alvin
PDB+R
Published in
3 min readApr 3, 2019

Halo semua teman-teman PPL!! Kali ini saya ingin membahas tentang apa itu refactoring dan design pattern. Simak baik-baik ya!!

Apa itu Refactoring?

Martin Fowler

Menurut Martin Fowler refactoring adalah proses mengubah software system , tapi tidak merubah tingkah laku atau behaviour dari code tersebut tetapi membuat struktur didalamnya menjadi lebih baik.

Kenapa perlu dilakukan?

Alasannya agar code yang dibuat lebih mudah dipahami orang lain dan lebih mudah untuk dimantain dikemudian hari.

Apa itu Design Pattern?

Design pattern adalah solusi umum yang bisa dipergunakan kembali untuk menyelesaikan masalah-masalah yang umum terjadi atau khusus pada desain perangkat lunak.

Pertama kita perlu menentukan masalah yang dihadapi, baru dicari solusi pattern yang sesuai. Jika sudah menemukan pattern yang tepat, maka dapat langsung diimplementasikan pada aplikasi tersebut.

Alasan menggunakan design pattern ?

Design Pattern
  • Readability & maintainability
  • Extensibility
  • Scalability
  • Testability
  • Reusability

Implementasi dalam kelompok

  1. Refactoring

Pada aplikasi yang kami buat sudah pernah dilakukan beberapa refactoring. Salah satunya adalah move method. Move method dilakukan saat ada method yang digunakan lebih banyak pada fitur kelas lainnya. Contohnya adalah potongan method JadwalDosenCreationForm() dibawah.

Sebelumnya, method ini diletakkan pada kelas CRUD_Data_Dosen. Namun, method tersebut akan lebih sering dipanggil hanya pada saat proses CRUD-Jadwal_Dosen dilakukan. Maka dibandingkan memanggil method tersebut dari kelas CRUD-Data_Dosen, akan lebih baik jika method tersebut langsung diakses pada form.py CRUD-Jadwal_Dosen.

Sebelum dilakukan move method
Setelah dilakukan move method

2. Design Pattern

Pada aplikasi yang kami kembangkan ini, kami menggunakan design pattern MVC (Model-View-Controller). MVC adalah sebuah metode untuk membuat sebuah aplikasi dalam 3 struktur besar yaitu :

  • Model : manipulasi data
  • View : tampilan interface user
  • Controller : bagian yang mengontrol aplikasi

MVC sering digunakan pada aplikasi berbasis website. Salah satunya adalah framework django. Pada django ketiga hal tersebut direpresentasikan dengan:

  • Model : models.py
models.py CRUD-Term
  • View : templates (html)
create_term.html
  • Controller : views.py
views.py CRUD-Term

Yaa, sekian penjelasan mengenai refactoring dan design pattern dari saya. Semoga apa yang saya jelaskan ini berguna untuk teman-teman sekalian. Sampai jumpa pada tulisan-tulisan berikutnyaaa.

--

--