Searching pattern for user interface


Mengimplementasikan searching method untuk melakukan pencarian data bukanlah hal yang mudah. Bayangkan kita di assign task untuk mengimplementasikan searching departement dengan screen seperti dibawah ini:

Search Department
Name: [_______]
Age: from [__] to [__] year old
Budget: [ ]
{Search}

Data akses yang spesifik berhubungan dengan domain model di implementasikan dengan Repository pattern.  Cara umum yang biasa dilakukan orang adalah:

Lambda-Expression Repository

var result = departmentRepository.FindAll<Department>(
		x => x.Name.Contains(emailAddress) && x.StartDate > ageFrom
		&& x.StartDate > ageFrom && x.StartDate < ageTo || x.Budget < budget
	);

Aku suka dengan fitur Fluent diatas. Client API bisa dengan leluasa meng passing searching criteria ke parameter method tersebut. Tapi aku kurang nyaman dengan cara diatas, aku ga suka membiarkan searching criteria telanjang. Ketika aku hendak me-reuse criteria tersebut di screen lain tidak akan bisa. karena criteria di specify oleh client saat invoke method FindAll.

Continue reading

Advertisements

To Do List


Sebentar lagi waktu ku bakal banyak yang kosong nih. Bakal bosan dan hambar kalo setiap pulang kerja atau hari sabtu minggu kerjaan nonton, tidur, browsing2 mulu. Karena itu, aku telah mepersiapakan to do list, mengenai hal2 apa saja yang harus dikerjakan.

  1. CI system design, sapa tau ada side project. bakal lebih enak ngerjainya. ngga capek2 mikiri design system dari awal
  2. Spring Framework, framework yang paling sering dipake oleh perusahaan yang bergerak di bidang software house akhir2 ini. Denger2 framework ini sangat sangat mempermudah pembangunan aplikasi web, membedakan Model, View, Controller,  service layer, terdapat juga dependency injection. Dan denger2 juga framework ini dapat digunakan untuk desktop aplication. Continue reading