SOLID: Liskov Substitution Principle

Liskov Substitution Principle (LSP) adalah fokus pada inheritance, dimana objects dari superclass harus bisa direplace pada object subclasses tanpa menyebabkan masalah. Jadi objects dari subclasses harus memiliki behaviour yang sama dengan superclass. Aturan LSP ini tidak cocok diaplikasikan pada Golang, karena Golang tidak memiliki base class dan derived class (turunan). Kita akan coba simulasikan LSP … Read more

Sharing is caring:

SOLID: Open Closed Principle

Open Closed Principle (OCP), terbuka untuk extension, namun tertutup untuk modification. Berikut skenarionya, online store dengan list product yang dapat difilter. Misal filter berdasarkan warna, ukuran dan lainnya. Pendekatan dibawah melanggar prinsip Open Closed Principle, karena kita terus melakukan modifikasi, ketika setiap diperlukan tipe filter baru. Misal, pada awalnya hanya dibutuhkan filter berdasarkan warna, lalu … Read more

Sharing is caring:

SOLID: Single Responsibility Principle

Single Responsibility Principle (SRP), adalah sebuah type (class, structure) hanya boleh memiliki satu responsibility. Agar mudah, langsung kita gunakan contoh, sebuah struct Journal. Responsibility yang terubung dengan struct tersebut harus berupa menyimpan data. Dan method yang terhubung pun harus berhubungan dengan struct tersebut, misalnya untuk menambahkan data, membuang data atau manipulasi lainnya. Misalnya, Anda ingin … Read more

Sharing is caring:

SOLID: Pengantar

Sebelum masuk ke design pattern, kita akan bahas dahulu SOLID Principle. SOLID adalah akronim untuk 5 prinsip desain dalam software engineering. Bertujuan agar desain software lebih mudah dipahami, fleksible dan mudah dimaintain. SOLID terdiri dari Single Responsibility Principle: setiap class hanya memiliki satu responsibility. Open Closed Principle: Terbuka untuk extension, namun tertutup untuk modification. Liskov … Read more

Sharing is caring: