YY面试,对MVC框架M层的理解,求指导
根据我的理解,平时用来处理数据的方法,我把它封装成类,以后遇到同样的数据处理我就调用这个类,这个类属于M层,处理数据。
面试官问我:
我们抓取网页有这么几步
1.根据URL抓取网页
2.正则表达式处理html元素
3.将抓取到的内容存入数据库
以上这三部哪一步处于M层?
我觉得三步都属于啊。
求大家指导我的理解是否有错,错在哪里,拜托了~
如果上面三步哪一步不是M层,那它属于MVC的哪一层??
回复讨论(解决方案)
个人觉得第3部属于m层.
因为第3部进行了数据库的查询.
第一步是不是有可能属于C层?这个要看项目的定义了。
3必然是 12可算可不算吧 我理解
首先3是对数据库的直接操作,肯定是一个通用性非常强的底层接口
2也可以算M,针对XX网站做的处理,来源于该网站的html都可以调用
1照样可以是M,无非是在2的基础上增加了一个curl抓取,url作参数而已
我觉得1.2属于业务逻辑层,3是数据层
明显3,对数据的操作
1 是控制层 3是处理数据层 我是这么理解
只有3是,1,2是控制层
第三步,m是数据处理层,当然你应用逻辑也可以写在m层,只不过很不规范。
正确的mvc架构应该让c层尽可能少的处理数据逻辑,而让m来处理,否则mvc的最大优点--代码模块化的优势就体现不出来了。
仅供参考!
MVC架构根本就没有准确定义,面试官水平不够或者故弄玄虚吧。
V是用户视角
C是业务视角
M是功能视角
三者本来就是一起合作完成任何一个功能的。抓取网页的话,对资源的请求一般写在M里。
正则表达式分析HTML这个,C和M都说得过去。在M里写好方法,C里调用是个比较好的结构。
数据库操作肯定是M,因为很多框架里,M就剩下访问数据库了。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Alipay Php ...

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.
