Integrasi dengan Helper Class & Validasi Data
Artikel sebelumnya membahas konsep dasar Extension Method di C#, mulai dari format rupiah, konversi title case, hingga kalkulasi diskon otomatis. Kali ini, kita akan melangkah lebih jauh: bagaimana Extension Method bisa dikombinasikan dengan Helper Class dan Validasi Data untuk membangun sistem modular yang lebih kompleks dan reusable.
🔗 Extension Method + Helper Class
Helper Class biasanya berisi kumpulan fungsi utilitas yang sering digunakan lintas proyek. Dengan Extension Method, kita bisa membuat Helper lebih elegan karena fungsi validasi atau formatter dapat dipanggil langsung dari tipe data terkait.
C#
public static class ValidationHelper
{
public static bool IsValidEmail(this string email)
{
return System.Text.RegularExpressions.Regex.IsMatch(
email,
@"^[^@\s]+@[^@\s]+\.[^@\s]+$"
);
}
}
Dengan kode di atas, kita bisa langsung memanggil
"user@example.com".IsValidEmail() untuk mengecek validitas email. Tidak perlu lagi membuat instance atau memanggil fungsi statis secara manual.
🛡️ Validasi Data Modular
Validasi adalah bagian penting dalam sistem aplikasi. Dengan Extension Method, validasi bisa ditulis secara modular dan reusable. Misalnya, validasi panjang password atau pengecekan angka positif.
C#
public static class DataHelper
{
public static bool IsStrongPassword(this string password)
{
return password.Length >= 8 &&
password.Any(char.IsUpper) &&
password.Any(char.IsLower) &&
password.Any(char.IsDigit);
}
public static bool IsPositive(this int number)
{
return number > 0;
}
}
Dengan pendekatan ini, validasi menjadi lebih natural. Contoh:
"Admin123".IsStrongPassword() akan mengembalikan true jika password memenuhi kriteria. Begitu juga 10.IsPositive() akan mengembalikan true.
⚙️ Manfaat Integrasi Modular
- Keterbacaan: kode lebih natural dan mudah dipahami.
- Reusabilitas: fungsi validasi dapat digunakan lintas proyek tanpa duplikasi.
- Konsistensi: standar validasi dan formatter terjaga dalam satu tempat.
- Clean Code: logika terpisah dari UI, fokus pada modularitas.
📣 Langkah Berikutnya: Formatter & Utility Reusable
Di artikel selanjutnya, kita akan membahas bagaimana Extension Method bisa dipadukan dengan formatter reusable untuk angka, tanggal, dan string. Semua dengan pendekatan clean code agar siap dipakai lintas proyek.
🏷️ Tags:
C#
Extension Method
Helper Class
Validasi Data
Clean Code
Modular Programming
String Manipulation
Formatter Reusable
