Konsep Reusable dalam Pengembangan Software

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