SOLID Principles Demystified — Intro

Apr 18 2023
Mewujudkan ide melalui perangkat lunak adalah bentuk seni logis yang harus dilakukan dengan sangat hati-hati.
Membangun perangkat lunak yang kompleks itu menyenangkan dan menantang, tetapi bahkan lebih menantang dan menyedihkan ketika memelihara dan memutakhirkan perangkat lunak yang ditulis dengan buruk. Metodologi di mana kami menulis kode yang bagus dan terstruktur dengan baik adalah dengan mengikuti dan mengikuti serangkaian prinsip yang disebut Prinsip SOLID.

Membangun perangkat lunak yang kompleks itu menyenangkan dan menantang, tetapi bahkan lebih menantang dan menyedihkan ketika memelihara dan memutakhirkan perangkat lunak yang ditulis dengan buruk.

Metodologi di mana kami menulis kode yang bagus dan terstruktur dengan baik adalah dengan mengikuti dan mematuhi seperangkat prinsip yang disebut SOLID Principles .

Prinsip SOLID pertama kali diperkenalkan oleh ilmuwan komputer Robert C. Martin dalam makalahnya yang diterbitkan pada tahun 2000.

Mari kita lihat akronim SOLID:

(S) prinsip tanggung jawab ingle

Kelas hanya bertanggung jawab untuk satu tujuan, artinya kelas hanya boleh memiliki satu jenis pekerjaan untuk dilakukan seperti (logika basis data, logika logging, dan sebagainya).

(O)pena/Prinsip Tertutup

Kelas harus terbuka untuk ekstensi dan ditutup untuk modifikasi, artinya kelas yang sudah ada harus dapat diperpanjang tanpa harus ditulis ulang untuk mengimplementasikan fungsionalitas baru.

(L) prinsip substitusi iskov

Kelas induk harus dapat diganti dengan kelas anaknya dengan mudah, artinya jika kelas Rectangle adalah subtipe dari kelas Shape, kita harus dapat mengganti Shape dengan Rectangle tanpa mengganggu aliran fungsional.

(I) Prinsip Segregasi antarmuka

Antarmuka tidak boleh memaksa kelas untuk mengimplementasikan fungsionalitas yang tidak mereka dukung, artinya antarmuka yang lebih besar harus dipecah menjadi yang lebih kecil untuk menawarkan dukungan.

(D) prinsip inversi ependency

Kelas harus bergantung pada abstraksi tetapi tidak pada konkresi, artinya modul tingkat tinggi tidak boleh bergantung pada modul tingkat rendah. Keduanya harus bergantung pada abstraksi.