Bayangkan situasi di mana kami menggunakan pustaka yang memungkinkan Anda membuat Circleobjek, di mana Anda dapat menentukan radius dan pusat lingkaran untuk mendefinisikannya. Namun, untuk beberapa alasan, dibutuhkan juga flavourparameter yang diperlukan . Sekarang katakanlah saya benar-benar perlu menggunakannya Circledi aplikasi saya sendiri, tetapi untuk keperluan aplikasi saya, saya dapat mengatur rasanya Flavours.Cardboardsetiap saat.
Untuk "memecahkan" ini, saya membuat Circlekelas saya sendiri di namespace yang berbeda, yang hanya mengambil radiusdan centersebagai parameter, tetapi memiliki konverter implisit ke kelas perpustakaan eksternal Circleyang baru saja membuat Circle(this.radius, this.center, Flavours.Cardboard)objek. Jadi di mana pun saya membutuhkan jenis lain Circle, saya membiarkan konversi otomatis terjadi.
Apa konsekuensi dari menciptakan kelas seperti itu? Apakah ada solusi yang lebih baik? Apakah ada bedanya jika aplikasi saya adalah API yang dibangun di atas perpustakaan eksternal ini, yang dimaksudkan untuk digunakan oleh programmer lain?
MakeCircle fungsi ?
makePlayeritu sendiri hanya menerima koordinasi untuk menempatkan pemain, tetapi mendelegasikan ke konstruktor yang jauh lebih kompleks.