අධිකාංශය Java පාඨපොත් වල, දත්ත සුරක්ෂිත කිරීමේ ආරම්භය සරලව JpaRepository<Product, UUID> එකක් නිර්මාණය කරගෙන සිදු කරන බව ඉගැන්වෙයි. එය කරන්නේ Spring Data සහ Hibernate සමඟ ඔබේ සම්පූර්ණ යෙදුම අධික ලෙස බැඳීමට ඉඩ සලසයි.
ඉක්මන්වම, ජූනියර් සංවර්ධකයෙක් Pageable හෝ Specification වැනි Spring කොටස් ඔබේ @Service ලේයරය හෝ REST controller වලට ගෙන ඇත්නම්, පිරිසිදු Architecture එක කඩා වැටේ. දැන් core module එකද දත්ත ගබඩා පද්ධතියේ framework එකේ පරාසය තුළ පිරී ඇත.
මෙම ගැටළුව විසඳීමට, Evolutionary Architecture සීරීස් එකේ තෙවැනි අධ්යයනයේ අපි Zero‑dependency, pure Java DAO API module එකක් සාදමින් සිටිමු. එය SQL, Hibernate, Spring කිසිවක් නොදනිමින්, පරිසරය සඳහා පිරිසිදු contract එකක් පමණක් සැපයේ.
Concern වෙන් කිරීම – Create සහ Update වෙන වෙනම යනුවෙන්, සාමාන්ය DAO සැලසුම් වල එකම save(entity) ක්රමය INSERT සහ UPDATE දෙකම කරයි. ඒක framework එකට hidden SELECT query එකක් ක්රියාත්මක කර ID පරීක්ෂා කිරීමට බලපාන බැවින් කාර්යක්ෂමතාවයට බාධා වේ. අපගේ contract එකේ create() සහ update() වෙන් කිරීමෙන් මේ අසීරුතාවය පූර්ණයෙන් ඉවත් කරයි.
public interface CrudDao<E, ID> {
void create(E entity);
void update(E entity);
E loadById(ID id);
void delete(ID id);
}
Optional වෙනුවට null – දත්ත ගබඩා මට්ටමේ Optional භාවිතය heap allocation වැඩි කර garbage collector පීඩනය වැඩි කරයි. වස්තුවක් නොමැති විට null පසුපසින් business layer එකට NotFoundException හෝ initialization flow එකක් තීරණය කිරීමට ඉඩ දේ.
Spring නැති Type‑Safe Pagination සහ Sorting – org.springframework.data.domain.Pageable භාවිත නොකර, අපි තමන්ගේ lightweight parameter objects නිර්මාණය කරමු. SortBy interface එකක් හඳුන්වා දී, enum මඟින් type‑safe sorting ක්රමය ලබා දෙයි.
public interface SortBy { String getPropertyName(); }
public enum ProductSort implements SortBy { PRICE("price"), CREATED_AT("createdAt"), NAME("name"); }
මෙම සැලසුම compile‑time safety, SQL injection අවදානම අඩු කිරීම, සහ framework‑agnostic codebase එකක් ලබා දෙයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලාංකීය සංවර්ධකයින්, විශ්වවිද්යාල සිසුන්, සහ තාක්ෂණික ව්යාපාර සඳහා මෙම පිරිසිදු DAO API එකේ ප්රයෝජන වඩාත් වැදගත් වේ:
- Framework lock‑in තවත් අවස්ථාවකට පත් නොවීමෙන්, Hibernate හෝ Spring වෙනුවට JDBC, MongoDB වැනි වෙනත් තාක්ෂණයන්ට පහසුවෙන් මාරු විය හැකිය.
- කොඩ් පදනම පිරිසිදු වීම නිසා, කණ්ඩායම් අතර සන්නිවේදනය සහ code review ක්රියාවලිය සරල වේ.
- ඉහල throughput යෙදුම් සඳහා hidden SELECT query ඉවත් කිරීමෙන්, ක්රියාකාරිත්වය ගුණාත්මකව වැඩි වේ.
- type‑safe sorting සහ pagination මඟින් දෝෂ සම්භවය අඩුවෙයි, ඉගෙනීමේ වක්රතා කෙටි කරයි.
ඉදිරියේදී, ශ්රී ලංකාවේ තාක්ෂණික සමාජය මේ ආකාරයේ clean architecture මත පදනම් වූ පද්ධති ගොඩනැගීමෙන් ජාත්යන්තර තරඟකාරීත්වයට පත් වීමට හැකියාව ලැබේ.
අවසානයේ, DAO API එකක් නිර්මාණය කිරීමෙන් ඔබේ ව්යාපෘතියේ ස්වභාවය පිරිසිදු කර, future‑proof කර ගැනීමට පළමු පියවරයි. දැන් කාලය එයි, ඔබේ codebase එකට මේ පිරිසිදු contract එක ඇතුළත් කර, framework leaks වලින් මිදෙන්න.