Membuat Aplikasi Modular secara Dinamis
Aplikasi yang bersifat modular sebenarnya tidaklah asing saat ini, dengan memecah kompleksitas software ke dalam sejumlah modul akan memudahkan developer memaintain lifetime aplikasi yang dibuatnya secara lebih baik, hal ini karena developer dapat lebih memfokuskan permasalahan pada modul-modul yang ada. Delphi secara RAD sebenarnya sudah mempermudah developer untuk menyusun aplikasi ini sebagai modul-modul yang disusun baik dengan memanfaatkan TDataModule ataupun TForm. Namun seringkali pula kita terjebak dalam proses pangil memanggil modul satu dengan modul yang lain yang biasanya dilakukan secara langsung seperti contoh berikut:
unit Function;
interface
uses
Windows, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
function Show_Modal(namaform:TForm);
function Show_Form(namaform:TForm);
implementation
function Show_Modal(namaform:TForm);
begin
with namaform.Create(Self) do
try
ShowModal;
finally
Free;
end;
end;
function Show_Form(namaform:TForm);
begin
with namaform.Create(Self) do
try
Show;
finally
Free;
end;
end;
end.
Pemanggilan Procedure Use Unit Function
Show_Modal(form1);
show_normal(form2);
Tidak salah sebenarnya, namun proses panggil memanggil seperti ini menjadikan aplikasi menjadi kompleks, karena modul pemanggil sebagai aplikasi utama harus menyertakan pula unit atas modul-modul yang akan dipanggil. Program berskala yang lebih besar semacam dan kompleks akan melibatkan puluhan, ratusan, atau bahkan ribuan modul di dalamnya, apakah untuk program semacam ini semua modul tersebut harus disertakan? tentunya akan lebih baik bila modul-modul itu dapat dipanggil secara dinamis dan otomatis oleh pemanggil dengan mudah. Kita cukup membuat modulnya, meregistrasikannya, dan recompile. Aplikasi utama akan secara otomatis menampilkan modul baru tersebut.