Saya ingat belajar VB4 dan menyeret tombol ke formulir, mengklik dua kali pada tombol itu, dan mengetik kode ke event handler yang baru saja diberkati secara ajaib. Berasal dari QBASIC saya sangat senang dengan "V" dalam "VB", desainer visual secara harfiah adalah yang terbaik sejak memotong roti.
Tentu saja Anda bisa melakukan semua itu secara terprogram tetapi keajaiban "V" begitu menarik sehingga Anda tidak bisa menahan tombol itu. Kami didorong untuk mengambil rute itu.
Tapi kemudian beberapa tahun yang lalu saya mulai belajar tentang C # dan kerangka kerja. Net dan terpesona oleh cara semua yang saya tahu saya baru saja keluar dari jendela. Ada banyak keajaiban yang terjadi di VB6 yang sepenuhnya diluncurkan di .net: ambil konstruktor dan InitializeComponents
metode misalnya. Dalam yang terakhir Anda akan menemukan semua contoh kontrol yang Anda seret dari kotak alat, semua acara yang Anda daftarkan dan properti yang Anda atur di perancang.
Dan itu tidak masalah ... kurasa. Hanya saja, saya merasa seperti tidak "memiliki" apa yang terjadi, kode ini yang hanya dapat saya modifikasi melalui perancang mengganggu saya. Setiap kali Anda menyalin tombol yang mengatakan "Oke" dari satu formulir ke yang lain (kadang-kadang bersama dengan saudaranya "Batal"), Anda benar-benar menggandakan kode, dan itu dosa bukan? KERING, jangan ulangi dirimu, kata Paus .
Agama dan aliran pemikiran di samping, dalam semua obyektivitas, bukankah seharusnya kita mengambil bentuk dari bentuk dasar sebagai gantinya, dan apakah tombol "Oke" (dan semua teman-temannya) tinggal di formulir dasar? Sesuatu seperti FormBase
dari mana berasal DialogFormBase
; semua kelas dibuat dalam waktu singkat ... dengan mengetikkan kode. Tombol-tombol dibuat tergantung pada bagaimana kelas di-instanciated (yaitu argumen konstruktor enum menentukan tombol mana yang akan dibuat), kontrol diletakkan di dalam susunan panel split dan panel tata letak aliran, disuntikkan ke dalam bentuk sebagaiContent
yang cocok dengan panel konten utama. Bukankah ini yang ASP.net lakukan dengan halaman master dan placeholder konten? Saya akan mendapatkan formulir ketika saya membutuhkan "halaman master" baru, tetapi "halaman master" baru ini masih berasal dari kelas bentuk dasar sehingga visual konsisten di seluruh aplikasi.
Bagi saya itu lebih banyak menggunakan kembali kode daripada apa pun yang pernah saya lakukan dengan desainer di WinForms, dan itu bahkan tidak sulit, dan kode tidak berantakan dengan metode 200-baris yang saya tidak punya kendali atas, saya bisa letakkan komentar di tempat yang saya suka, mereka tidak akan ditimpa oleh seorang desainer. Saya kira itu hanya masalah pola dan arsitektur, yang membawa saya ke tautan ini: Desain terbaik untuk bentuk Windows yang akan berbagi fungsionalitas umum , di mana saya menyadari saya sangat tepat, kecuali jawaban di sana, menunjukkan dengan tepat apa yang saya lakukan, tapi itu menyarankan terhadap warisan bentuk karena pertimbangan desainer. Itu bagian yang tidak saya dapatkan .karena pertimbangan struktur kode, terutama dalam hal bentuk dan kontrol warisan, yang saya lihat tidak ada alasan untuk menghindari selain itu merusak perancang .
Kita semua tidak bisa hanya malas, jadi bagian apa yang saya lewatkan?