Adakah metodologi alternatif pemrograman aliran utama untuk OOP menggunakan C #?

8

Sejauh bahasa pemrograman berjalan, saya suka C #, dan dalam hal ini semua hal baik yang berasal dari .net framework (LINQ, dll).

Perhatian utama saya adalah saya tampaknya mengeluarkan terlalu banyak kode, dan menggunakan OOP, saya khawatir kode saya tidak selalu mudah dikelola.

Saya ingin terus menggunakan C # dan .Net, tetapi apakah ada pendekatan lain untuk menerapkan bahasa untuk mendapatkan kode keseluruhan lebih sedikit, dan lebih mudah dikelola dibandingkan dengan buku teks OOP?

Terima kasih sebelumnya!

JL01
sumber

Jawaban:

11

Ya - Saya menemukan masalah yang sama. OOP bukan cara terbaik untuk menyelesaikan semua masalah. Namun, C # mendukung paradigma fungsional dengan sangat baik dan saya telah menggunakannya dengan sukses pada beberapa proyek sekarang.

Ada pembicaraan menarik di sini berkenaan dengan penyederhanaan yang seharusnya memberi Anda sedikit pemikiran: http://skillsmatter.com/podcast/design-architecture/simple-is-better

Dihapus
sumber
1

Jika Anda ingin bereksperimen, coba AOP / C # seperti di sini dan di sini . PDF memiliki lembar bagus tentang pro dan kontra.

mtijn
sumber
1

Pemrograman Berorientasi Aspek memungkinkan Anda mendapatkan efisiensi dengan menangani "masalah lintas sektoral" dengan cara yang seragam. Ada manfaat lain yang mungkin, tetapi menurut saya itu akan bermanfaat bagi Anda!

http://en.wikipedia.org/wiki/Aspect-oriented_programming http://www.sharpcrafters.com/aop.net

Justin Vieira
sumber
0

Sebelum menyimpang terlalu jauh ke metodologi yang berbeda, pastikan untuk mengambil keuntungan dari refactoring untuk menyederhanakan dan mengkonsolidasikan kode Anda. Berikut ini adalah katalog Fowler, " Daftar alfa refactoring ," yang masing-masingnya dapat membantu Anda meningkatkan dan mengelola kode C # Anda.

Dengan belajar merancang secara efektif untuk digunakan kembali dan dengan mengoptimalkan aplikasi antarmuka, kelas abstrak, hierarki kelas, injeksi dependensi, dan alat serupa yang ada dalam metodologi berorientasi objek standar, Anda mungkin menemukan diri Anda dalam perjalanan untuk mencapai hasil yang diinginkan .

Selain itu, @Chris Smith telah menunjukkan kepada Anda fakta bahwa versi C # yang lebih baru (3.5 dan 4.0) telah menambahkan beberapa kemampuan pemrograman fungsional yang dapat membantu Anda membuat kode Anda menjadi rock!

Jika Anda menyukai pemrograman fungsional, cobalah bahasa F # baru Microsoft ! Ini sebenarnya lebih seperti "objek-fungsional," campuran dari dua metodologi. Anda mungkin juga ingin tahu bahwa Anda dapat mencampur F # dan C # dalam Solusi .NET yang sama .

Saya juga setuju dengan komentator lain bahwa AOP pasti memiliki kegunaannya!

John Tobler
sumber
0

OOPS mungkin menyebabkan lebih banyak kode, tetapi Jika aplikasi Anda besar, kompleksitas OOPS yang berkurang akan menghasilkan kode yang dapat dikelola dan dikelola, serta kejelasan. Jika ini bukan masalahnya dan Anda merasakannya sebagai beban, saya yakin Anda mungkin menggunakannya secara tidak benar. periksa apakah kelas Anda mewakili objek domain dengan benar dan komunikasi di antara mereka dekat dengan bagaimana hal itu terjadi dalam sistem dunia nyata yang Anda coba simulasikan dalam program.

Dalam C #, terlalu banyak kode bukan alasan realistis untuk menjauh dari OOPS IMHO. Pergeseran paradigma seharusnya memiliki alasan yang jauh lebih valid, pada kenyataannya.

orang dapat melakukan 'pemrograman terstruktur' dalam C # .. tapi saya kira itu akan membuang-buang waktu dan usaha. Dan sebagian besar alternatif utama menggunakan OOPS juga.

WinW
sumber