Rumah  >  Soal Jawab  >  teks badan

Dalam MVC, patutkah pengesahan diletakkan dalam Pengawal atau Model?

Saya seorang pembangun bahagian hadapan dan saya baru mula menulis tentang bahagian belakang Soalan ini agak mengelirukan. Adakah lebih baik untuk memasukkannya ke dalam Model dan mengembalikan kod status yang berbeza melalui Model untuk panggilan oleh pengawal yang berbeza? Jom kongsi pengalaman. Dilampirkan dua pautan berkaitan:

怪我咯怪我咯2713 hari yang lalu460

membalas semua(3)saya akan balas

  • 巴扎黑

    巴扎黑2017-05-16 17:08:36

    Saya pernah mempunyai keraguan yang sama Malah, semua orang juga mengatakan bahawa pengawal nipis adalah model yang gemuk, tetapi mengapa pengawal nipis mesti menjadi model yang gemuk. t model gemuk melanggar kami prinsip reka bentuk?

    Jadi untuk masalah ini, penyelesaian saya adalah, memandangkan kita ingin menurunkan berat badan, maka semua orang harus menurunkan berat badan, pengawal nipis + lapisan pengesahan model nipis (saya panggil model_service) + model nipis, dalam kes ini, walaupun beberapa pengawal digunakan semula Lapisan pengesahan tidak menjadi masalah, dan model masih merupakan tambahan asas, pemadaman, pengubahsuaian dan semakan, dan model ini akan menjadi lebih fleksibel Sebagai contoh, masalah biasa ialah satu model merujuk kepada penambahan, pemadaman, pengubahsuaian dan semak model lain, dan ia juga boleh digunakan semula secara terus

    Sebenarnya, lapisan adalah idea Ia tidak bermakna bahawa lapisan mesti mengikut pelan tertentu, lebih baik untuk tidak menggunakan idea lapisan, tidak kira sama ada ia adalah mvc atau smvc yang mana lebih baik bergantung pada cara anda berfikir tentang cara program anda berlapis Mungkin anda telah menghasilkan reka bentuk berlapis xxxmvc untuk kemudahan, ingat bahawa mesti ada pertimbangan reka bentuk yang boleh menambah lapisan .

    Saya masih ingat sepertinya ada pepatah popular di Internet "Sebarang masalah dalam bidang sains komputer boleh diselesaikan dengan menambahkan lapisan tengah tidak langsung", jadi anda akan melihat banyak konsep yang serupa: proksi, cache, cgi, kilang mod, dsb. Malah terdapat konsep yang dipanggil "lapisan tengah", jadi apabila anda berfikir bahawa adalah baik untuk meletakkannya dalam mana-mana dua lapisan yang berkaitan, anda boleh memikirkan sama ada lebih baik untuk mempunyai lapisan tengah?

    balas
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:08:36

    Menurut pengalaman rel saya, lebih baik menulisnya dalam model

    Ada pepatah tentang model gemuk dan pengawal nipis di rel
    Contoh rel:

    Model orang mengesahkan medan nama_pertama, nama_akhir

    class Person
      include ActiveModel::Validations
    
      attr_accessor :first_name, :last_name
    
      validates_each :first_name, :last_name do |record, attr, value|
        record.errors.add attr, 'starts with z.' if value.to_s[0] == ?z
      end
    end
    

    balas
    0
  • PHP中文网

    PHP中文网2017-05-16 17:08:36

    Sila rujuk API Pengesahan Kacang JSR-303 Selain itu, perpustakaan balang pengesahan hibernate juga memanjangkan standard pengesahan, yang juga ditulis dalam model dan menggunakan anotasi.

    balas
    0
  • Batalbalas