Użytkownicy Stackoverflow: Wiele rzeczy może być reprezentowanych w programach przy użyciu podstawowych typów, lub możemy stworzyć dla nich nową klasę.Kiedy używać podstawowych typów (Integer, String) i kiedy pisać nową klasę?
Przykład: Numer ubezpieczenia społecznego może być numerem, łańcuchem lub jego własnym obiektem.
(Inne częste przykłady: numery telefonów, nazwiska, kody pocztowe, identyfikator użytkownika, identyfikator zamówienia i inne identyfikatory.)
Moje pytanie brzmi: Kiedy należy stosować podstawowe rodzaje, a kiedy powinniśmy napisać sami się nowa klasa?
Widzę, że gdy zachodzi potrzeba dodania zachowania, należy utworzyć klasę (przykład: analiza składni, sprawdzanie poprawności, formatowanie itp.). Ale czy to jedyne kryterium?
Natknąłem się na przypadki, w których wiele z tych rzeczy jest reprezentowanych jako liczby całkowite java i/lub ciągi znaków. Utraciliśmy korzyści z sprawdzania typów i często widziałem błędy spowodowane parametrami miksowanymi w wywołaniach function(Intever, Integer, Integer, Integer)
.
Czy nie moglibyśmy czerpać korzyści z posiadania sprawdzenia typu, nawet jeśli żaden z nich nie uzasadnia posiadania własnej klasy?
Oczywiście odpowiedź brzmi "to zależy". Ale co myślisz i co zwykle robisz?
Oto pytanie dotyczące pomysłów dotyczących * sposobu * zastąpienia elementów pierwotnych klasami, jeśli/kiedy zdecydujesz, że chcesz: http://stackoverflow.com/questions/24981278/design-patterns-for-type-safe-integers – Morad