Konsep Reusable dalam Pengembangan Software – pesonainformatika dalam mengembangkan sebuah software terdapat beberapa konsep penting dalam pengembangan nya, sekarang kita akan belajar tentang salah satu konsep penting dalam pengembangan software yaitu reusable apa itu? bagaimana penerapanya?
disini kita akan membuat project kecil menggunakan python untuk menerapkan konsep ini, sebelum membahas lebih dalam tentang konsep ini kita akan membahas kenapa konsep ini penting dan darimana menentukan kode yang bisa kita reuse
Apa itu Reusable Concept (Reusable Thinking)
reusable concept dalam pengembangan konsep software ini adalah strategi gimana kita menggunakan kembali (reuse) fungsi/class atau object di dalam program atau aplikasi yang kita buat
Dimana kita bisa menerapkan Reusable Concept
pada tahap ini kita akan belajar dimana saja kita dapat menerapkan reusable concept dalam sebuah system/program atau aplikasi, disini ada beberapa tempat misalnya
- Sistem Aplikasi
- Sub-System atau Module
- Object dan Fungsi atau Prosedur yang dipakai
Darimana kita Melihat Kode apakah Reusable atau tidak
nah di tahap ini kita akan belajar bagaimana menentukan kode yang dapat kita reusable, disini kita dapat melihat dari berbagai sisi misalnya
- Design Pattern yang dipakai di suatu project
- Generic Program yang dibuat, (jadi nanti si aplikasi dapat di konfigurasi dan memudahkan untuk menambah dan mengedit fitur atau module dependensi project)
Architectural Pattern
Architectural Pattern Adalah standard software architecture yang support type system aplikasi atau Project yang dipakai
Design Pattern
singkatnya design pattern adalah template atau standar struktur project yang dipakai disuatu project, disini terdapat pembagian lagi dalam pembagian pattern seperti
- Creational: yaitu membuat abstraksi untuk memecah logic dalam aplikasi sehingga terpisah antara pembuatan object/kelas lalu kemudian di representasi
- Structural: nah ini fokusnya ke bagaimana pembuatan kelas atau object dapat digunakan (di compose) di structure yang berbeda agar lebih fleksibel
- Behavior: nah ini lebih fokus di gimana menerapkan algoritma atau proses flow dan komunikasi antar object
Component-based development
biasanya sistem atau aplikasi dibuat dengan integrasi antar komponen atau module sessuai dengan model komponen yang dipakai
contoh project yang menerapkan konsep ini adalah
- Framework
- Service oriented system
Framework
disini kita tau bahwa framework suatu bahasa pemrograman menerapkan reusable karena dari framework ini kita menggunakan kelas atau fungsi yang ada dalam framework tersebut
Service Oriented System
disini ketika kita membuat aplikasi atau program atau kita mengerjakan suatu project dalam suatu case misalnya kita membuat aplikasi toko online disini kita analisa dulu apa aja fitur yang ada dalam aplikasi tersebut disana terdapat beberapa service yang mirip misalnya dalam aplikasi kita kita merequest ke API yang berbeda misalnya kita request ke API POS dan JNE disini kita sama sama request api tetapi dalam API tersebut beda parameter contoh dalam python seperti ini
# service.py
import requests
class DeliveryRequestAPI:
def __init__(self):
self.headers: dict = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36'
}
"""
get requests from API
"""
def get_deliver_api(self, url: str, params: dict):
res: requests = requests.get(url, params=params, headers=self.headers)
## debug request
from services import DeliveryRequestAPI
post_url: str = 'http://api.post.indonesia.id'
api: DeliveryRequestAPI = DeliveryRequestAPI()
def process_api():
request: api = api.get_deliver_api(post_url, params={'parameter': 'isi parameter'})
### olah API disini
seperti ini kurang lebih penerapan simple nya
sampai disini pembahasan kali ini semoga bermanfaat
people who use linux and people who are friendly