- 主题:有没有人觉得(前端)mvc的写法其实并不好?
你觉得angularjs写的网站代码容易理解吗
我最近一直在分析dexi.io这个网站
我感谢它使用了angularjs
【 在 xiatianup 的大作中提到: 】
: 今天认真看了下,理解了下。
: 其实就是把常规写法的一整个流程,把它肢解分尸,其中的某些部分放进model,某些部分放进view,某些部分放进controller,然后把相互间的调用逻辑安排好,就完成了。
: 但是这样分尸后,一整个流程就是东一点,西一点,支离破碎,虽然用绳子牵着一个调用逻辑,看起来很不方便,要顺着调用逻辑滚动鼠标滚轮上下翻着到处看。
: ...................
--
FROM 123.151.38.*
当然也可以,配合 Q 之类的用也能达到同样的效果,但是没有 async await 定义函数块写起来仍然不好看。
【 在 alenym3 (alen) 的大作中提到: 】
: 为啥不用promise
--
FROM 211.162.33.*
function nomvctable() {
// 异步变同步,使用 await 很好
var data = await ajax(url, params);
updateTable(data);
// 这种表达并不比 data.on('changed', render) 更自然
async changed(data) {
updateTable();
};
// 这种表达并不比 btn.on('clicked', ...) 更自然
async clicked(btnAddRow) {
var animation = async {
try{
$("#loading").show();
}catch(kill) {
$("#loading").hide();
}
};
data.push(newRow);
await save();
animation.kill();
};
// 同样
async clicked(btnRemoveRow) {
data.pop(); // 忘了怎么写。
};
}
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 其实我觉得楼主说的没错。。mvc 模式我也觉得太圡了。
: 假如 javascript 有 await/async 语法,我会希望这么写:
: function nomvctable() {
: ...................
--
FROM 14.152.90.*
你没有仔细看我说的内容,我表达的很清楚:mvc 是一个思想,并不是一套模式
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 呵呵。。你没仔细看我的代码吧。就是不想要 mvc 啊。
--
FROM 14.152.90.*
。。。好好玩你的typescript
【 在 facilitator (黄书中自有颜如玉 脸书中自有黄金屋) 的大作中提到: 】
: 那个人是另类 你不用理他
--
FROM 14.152.90.*
就不想要这个思想。
m 变化 <=> c <=> v 变化
改成:
等待 m 变化,然后 v 变化。省掉 c
【 在 Inshua (在庭) 的大作中提到: 】
: 你没有仔细看我说的内容,我表达的很清楚:mvc 是一个思想,并不是一套模式
--
FROM 27.154.8.*
d2js 除了没有用 async、yield 式的异步,其它他给的写法都支持
function a(){
// standalone 说明该table只局限于该作用域
var a = new d2js.DataTable('name', 'a.d2js', {standalone:true})
a.load('fetch', function(){
$table.bindRoot(a).render()
btn.click(function(){...})
})
}
相反,你喜欢的angular没有机会
框架另类不表示我另类,框架另类也不是我的错,是你眼睛有问题
【 在 facilitator (黄书中自有颜如玉 脸书中自有黄金屋) 的大作中提到: 】
: 那个人是另类 你不用理他
--
FROM 14.152.90.*
你也被市面上的奇葩框架误导了,严格的说 m - v 之间是不需要 c 的,你可以找个经
典的mvc图看看,上面绝对有 m->v 这条线,不需要经过 c,否则就不是三角形了
其次,m的变化并不必然需要更新v,大部分场合,m 在运算过程中变来变去都不希望更
新 v,更新 v 只是特例。
就像你的想法里,可能更新 v 是一个动画,那么这时可以
do someting change m
do someting change m
await render
do someting change m
do someting change m
...
而不是类似于 m.onchange(render)
只在必要的时候才需要render。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 就不想要这个思想。
: m 变化 <=> c <=> v 变化
: 改成:
: ...................
--
修改:Inshua FROM 14.152.90.*
FROM 14.152.90.*
on 的语义和 async 不一样。jq 的 once 还差不多。实际上 async 只是 await 功能的必要设施而已,本身并没有太多的东西。async 标识一个 coroutine,coroutine 具备被 kill 的能力。
顺便说一下,我写的这些东西不是脑洞大开写出来的。是 dotnet 和 python 都在实际应用的东东。nodejs 社区有用过,但是桌面端浏览器都不支持 yield,所以也很少有人往这方面想。
【 在 Inshua (在庭) 的大作中提到: 】
: function nomvctable() {
: // 异步变同步,使用 await 很好
: var data = await ajax(url, params);
: ...................
--
FROM 27.154.8.*
我也玩c#,也搞并发服务器,甚至用erlang之类,完全理解你说的这些概念
确实应该用once,这个我纠正一下
我认为在这个场景 aync 并不比 on 这种纯回调更有优势,无论是表达上还是调试或者上
手,都没有什么优势
【 在 hgoldfish (老鱼) 的大作中提到: 】
: on 的语义和 async 不一样。jq 的 once 还差不多。实际上 async 只是 await 功能
的必要设施而已,本身并没有太多的东西。async 标识一个 coroutine,coroutine 具备
被 kill 的能力。
: 顺便说一下,我写的这些东西不是脑洞大开写出来的。是 dotnet 和 python 都在实际
应用的东东。nodejs 社区有用过,但是桌面端浏览器都不支持 yield,所以也很少有人
往这方面想。
--
FROM 14.152.90.*