cari

Rumah  >  Soal Jawab  >  teks badan

java - 在SpringMVC的Controller层处理业务逻辑好吗?

新接手的代码,发现在Controller里处理的逻辑就有几百行代码?又没有事务管理,这么做好吗?

天蓬老师天蓬老师2803 hari yang lalu844

membalas semua(7)saya akan balas

  • 阿神

    阿神2017-04-17 18:03:27

    MVC standard melaksanakan logik perniagaan secara langsung dalam pengawal, tetapi dalam projek sebenar, masih disyorkan untuk merangkum lapisan perkhidmatan antara pengawal dan operasi pangkalan data.
    Di satu pihak, pengawal bertindak balas kepada URL permintaan yang berbeza, jadi akan terdapat banyak duplikasi dalam kefungsian;
    Sebaliknya, anda mesti menganggap bahawa fungsi perkhidmatan anda mungkin terdedah kepada bahagian hadapan lain pada masa hadapan, seperti input aplikasi lain, atau terminal yang berbeza (seperti APP, mudah alih H5, dll.);

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 18:03:27

    Sangat teruk, sangat sukar untuk dikembangkan dan kebolehselenggaraan juga sangat lemah.

    Pengawal haruslah lapisan nipis, dan logik perniagaan harus diletakkan dalam lapisan perkhidmatan untuk diproses sebanyak mungkin Ia juga harus lebih bebas dari segi butiran perkhidmatan dan penggunaan perkhidmatan.

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-17 18:03:27

    Sudah tentu ia tidak bagus Lapisan pengawal hanya bertanggungjawab untuk interaksi data perniagaan, dan logik perniagaan dikendalikan oleh lapisan perkhidmatan

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 18:03:27

    Lapisan Pengawal projek yang saya ambil alih sekarang juga sangat besar Satu kaedah mempunyai ratusan baris, dan terdapat berbilang lapisan jika bersarang penyelenggaraan kemudian. Anda perlu memahami logik perniagaan sebelumnya. Saya secara peribadi merasakan bahawa kaedah yang lebih baik adalah pengawal-perkhidmatan-dao, dengan perkhidmatan yang bertanggungjawab untuk operasi logik tertentu dan dipisahkan daripada satu sama lain mungkin;

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-17 18:03:27

    一般controller层=》Service层=》Dao层。
    1.controller层,接受请求,进行分页,DTO对象封装操作。
    2.service层,执行逻辑,控制并发,事务。
    3.Dao层,与数据库交互。

    balas
    0
  • ringa_lee

    ringa_lee2017-04-17 18:03:27

    Walaupun diletakkan dalam perkhidmatan, ia akan menjadi kucar-kacir. . Masih memerlukan kaedah lain untuk mengelakkan situasi perniagaan yang rumit dan kebolehselenggaraan kod yang lemah

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 18:03:27

    Biar rakan sekerja melihat kod hari ini Perkara pertama yang dia katakan ialah anda harus meletakkan kod pengawal dalam perkhidmatan;=_=;
    Ia bergantung terutamanya pada kerumitan perniagaan perniagaan yang sangat mudah, maka tidak perlu dari pengawal kepada perkhidmatan kepada dao juga bergantung pada spesifikasi pembangunan seluruh pasukan;

    balas
    0
  • Batalbalas