楼主:
q374077 (q374077)
2016-04-04 09:17:47越google越怀疑自己到底有没有懂
架构是android->php->mysql
我在android端写几个controller
(就是各种SQL,select A、select B WHERE x = y 之类的)
写一个php在local server做model接收和发送资料给controller
view的工作就是把controller丢回来的结果用json解析,表格或条列,显示给使用者
好处是资料安全和可以各自分开编写,对大型专案有利
坏处是比较复杂
请问我这样对mvc的架构算是了解了吗?
作者:
MIM23 (HAWK)
2016-04-04 09:19:00不是这样吧…
作者:
ckvir (ckvir)
2016-04-04 11:26:00我觉得算是mvc了
作者:
ssccg (23)
2016-04-04 13:42:00"就是各种SQL",通常SQL只会在model层
controller 只负责呼叫 model 把捞回来的资料送给 view不应该包含太复杂的逻辑 sql 就更不用说了 完全不能放以你的例子来说String str = android.getData(xxx.php);android.setText(str);controller 里面只能有这两行 可以呼叫多个 model再将结果传给另一个 model 但 model 之间不能呼叫彼此也因为如此才需要 controller 操作整合就字面上的意义来说 就是控制器 控制资料处理流程以及资料间的交换 controller 写得好 才表示真的懂 MVC
以我的理解是Android有自己的MVC,MVP或MVVM..等架构,后端有自己的MC架构(不一定有V)
资安是资讯安全 不管放在哪里都跟资安没关系当然如果你放在 js 内就有关系了以 SQL Injection 来说 是要在使用参数产生 sql 语法前处理参数的内容 避免产生问题 例如双引号MVC的重点在于不论你今天是要做 web, client-server还是单纯的 API,要更改的部分只有 controller 跟 viewmodel 的部分可以说是几乎不用修改的只要把原本吐给 template 的 controller 改成吐 json就变成 api 反之亦然 跟 model 没有什么关系这就是 MVC 的其中一个目的 因此你再想想把 sql 写在 controller 内 当你需要使用相同资料吐给不同目标时 会不会需要重新写一次 sql?因此在学 MVC 时可以不断反问自己 这样做的话未来是不是可以很轻松的迁移程式码如果不行 那可能就是不正确的 设计要注意能够互相联络的只有 controllerModel 间是彼此独立的 避免未来修改被影响到例如读档案 原本写成在一个 model 呼叫读取档案 model之后再解析内容取得资料 如果资料来源从电脑改成网络那这个 model 就废了 反之如果是从 controller 呼叫读取资料的 model 再传给资料解析的 model这样不管资料来源怎么改 资料解析的 model 都不用修改因此不断的反问自己 当环境改变时是不是可以顺利转移这样一来就可以慢慢上手了