Saya melihat banyak kelas instantiable di dunia C ++ dan Java yang tidak memiliki status apa pun.
Saya benar-benar tidak tahu mengapa orang melakukan itu, mereka hanya bisa menggunakan namespace dengan fungsi bebas di C ++, atau kelas dengan konstruktor pribadi dan hanya metode statis di Jawa.
Satu-satunya keuntungan yang dapat saya pikirkan adalah bahwa Anda tidak perlu mengubah sebagian besar kode Anda jika nanti Anda memutuskan bahwa Anda menginginkan implementasi yang berbeda dalam situasi tertentu. Tapi bukankah itu kasus desain prematur? Itu bisa diubah menjadi kelas nanti, ketika / jika itu menjadi tepat.
Apakah saya salah? Apakah ini bukan OOP jika saya tidak memasukkan semuanya ke objek (yaitu kelas yang dipakai)? Lalu mengapa ada begitu banyak ruang nama dan kelas utilitas di pustaka standar C ++ dan Java?
Pembaruan: Saya sudah pasti melihat banyak contoh tentang ini di pekerjaan saya sebelumnya, tetapi saya berjuang untuk menemukan contoh sumber terbuka, jadi mungkin itu tidak terlalu umum. Tetap saja, saya bertanya-tanya mengapa orang melakukannya, dan seberapa umum itu.