Kasalukuyan akong nilulutas ang isang malaking problema sa antas 27. Doon ay hinihiling sa amin na lumikha ng klase ng StatisticManager at gawin itong singleton. Ok walang problema! Sa ibang pagkakataon, sa iba pang mga klase ng programa kailangan kong tawagan ang mga pamamaraan ng StatistcManager, at dito nagsisimula akong makatagpo ng maliliit na nakakainis na sandali, kailangan kong magsulat ng isang reference variable
StatisticManager statisticManager = StatisticManager.getInstance(); statisticManager.method();
o tulad nito: StatisticManager.getInstance().method();
Iyan ay maraming dagdag na titik! Mas madaling gawing static ang klase at isulat ito ng ganito: StatisticManager.method();
Sa palagay ko marahil ay may makukuha ang singleton sa isang static na klase? Nagbasa ako ng isang artikulo sa Habré at pinalakas ko lamang ang aking mga pagdududa. Si Singleton, hindi bababa sa gawaing ito, ay kalabisan. Sa ngayon, nakikita ko lamang ang isang gamit para sa isang singleton - kung kailangan nating mag-save ng mga mapagkukunan at lumikha ng isang bagay hindi kaagad, ngunit sa ibang pagkakataon, kapag kailangan natin ito. Sa ibang mga kaso, ayos lang ang isang static na klase. Sa Habré ay nagsusulat din sila ng isang bagay tungkol sa pamana, ngunit halos hindi ko maisip ang ganoong sitwasyon, at marahil ay hindi rin madalas. Kung mali ako, itama mo ako. Gusto ko lang na mas maunawaan ang mga prinsipyo ng disenyo at baka makatulong ito sa ibang tao na malaman ito :)
GO TO FULL VERSION