V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ddyy
V2EX  ›  程序员

用面向对象写网站程序有种“隔山打牛”的感觉

  •  
  •   ddyy · 2014-05-15 13:04:12 +08:00 · 4201 次点击
    这是一个创建于 3847 天前的主题,其中的信息可能已经有所发展或是发生改变。
    明明牛就站在自己面前,为什么非要跑到山的另一边,用定位仪确定牛的位置,计算好抛物线用高射炮打牛呢?
    29 条回复    2014-05-16 17:53:13 +08:00
    MaiCong
        1
    MaiCong  
       2014-05-15 13:06:12 +08:00
    这形容好喜感
    lecher
        2
    lecher  
       2014-05-15 13:07:56 +08:00   ❤️ 2
    方便以后需求变更,各种需求变动,繁琐的数据处理流程。
    万一以后要增加混合双打、人机对战、连续闯关大赛。。。。。面向过程一个一个需求去堆功能会累死。
    jsonline
        3
    jsonline  
       2014-05-15 13:08:05 +08:00 via Android
    你说的是面向类编程吧
    Lucups
        4
    Lucups  
       2014-05-15 13:14:41 +08:00
    如果是一千个人打一千头牛呢?
    juicy
        5
    juicy  
       2014-05-15 13:14:47 +08:00
    哈哈哈,是有这感觉
    ianva
        6
    ianva  
       2014-05-15 13:21:38 +08:00   ❤️ 1
    有时候一辈子就只打一头牛,
    有时候每天都得打100头牛,
    有时候要在山沟里打牛有时候要在山顶上打牛,
    有时候要打肥牛,
    有时候要打红牛,
    有时候需要用b52炸掉牛尾巴上牛氓
    csx163
        7
    csx163  
       2014-05-15 13:30:36 +08:00
    因为你现在只有一头牛呀
    akira
        8
    akira  
       2014-05-15 13:48:21 +08:00
    所以有时候,会先用简单粗暴的方法先实现功能需求,然后如果项目能活下来,再考虑优化。
    对于老板来说,活下来才是最重要的,而不是各种牛逼的技术。
    liuxurong
        9
    liuxurong  
       2014-05-15 13:55:53 +08:00
    如果你的项目一次成型的话可以这么说.
    ddyy
        10
    ddyy  
    OP
       2014-05-15 14:00:31 +08:00
    @liuxurong 很多互联网项目都是效率取胜啊,先上线是王道,并且成功的互联网项目往往都是不曾有过的业务模式(腾讯除外,山寨特色的天朝除外),既然是不曾有过的业务模式,摸石头过河还要抽象它,得多慢啊
    jyoe
        11
    jyoe  
       2014-05-15 14:11:35 +08:00
    你已经开悟了
    anewg
        12
    anewg  
       2014-05-15 14:12:53 +08:00
    隔山打牛就是为了打以后出现在山那头的牛
    anewg
        13
    anewg  
       2014-05-15 14:13:49 +08:00
    当然,打完面前这头就回家另算了
    jarlyyn
        14
    jarlyyn  
       2014-05-15 14:15:02 +08:00
    楼主是在说模板还是后台呢?
    dong3580
        15
    dong3580  
       2014-05-15 14:18:20 +08:00
    这是为了以防更多的牛袭来,一旦发现牛的种类不同,再New一套拳法,安全性高啊。
    好友喜感,哈哈,
    ddyy
        16
    ddyy  
    OP
       2014-05-15 14:18:53 +08:00
    @jarlyyn 业务逻辑,至今我十分不习惯把业务逻辑写到类里面
    learnshare
        17
    learnshare  
       2014-05-15 14:32:37 +08:00
    用不用这些方式,要根据项目规模、发展去评估吧,这么说说是没用的
    MasterYoda
        18
    MasterYoda  
       2014-05-15 14:50:55 +08:00
    要不直接完成了工作进度,让boss天天看你工位上刷v2ex嘛。
    隔山打牛代码量多,显得产出高一些。。。。
    88250
        19
    88250  
       2014-05-15 15:19:24 +08:00
    “山”是面向对象虚构出来的。
    levn
        20
    levn  
       2014-05-15 15:54:32 +08:00
    有什么不同
    looly
        21
    looly  
       2014-05-15 16:14:45 +08:00
    牛多了,打牛的人多了你就知道了
    liuxurong
        22
    liuxurong  
       2014-05-15 17:11:42 +08:00
    @ddyy 我觉得MVC是必须滴~
    lazyphp
        23
    lazyphp  
       2014-05-15 17:15:54 +08:00
    刚开始还没理解到楼主的话语,看了大家的评论,茅塞顿开~~哈啊
    ddyy
        24
    ddyy  
    OP
       2014-05-15 17:29:40 +08:00
    @liuxurong V 和 C 是必须的,但 M 和 C,这两者经常会“抢生意”,到底把业务逻辑丢给 M 还是 C 呢?哪个多一点哪个少一点,让人陷入了无尽的斟酌。。。时间就这么白白流走
    ety001
        25
    ety001  
       2014-05-15 17:42:19 +08:00
    @ddyy 跟数据打交道的就放到M里,跟控制有关的就放到C里面。
    pubby
        26
    pubby  
       2014-05-16 00:01:56 +08:00
    第一版先放C,快速上线,有起色了再考虑其他
    lm902
        27
    lm902  
       2014-05-16 03:31:18 +08:00 via iPhone
    I武器 大炮 = 武器.大炮.Create();
    I目标 蚊子 = 目标.蚊子.Create();
    try
    {
    大炮.射击(蚊子);
    }
    catch (TargetMissedException)
    {
    MessageBox.Show(this, "没打中", "错误");
    }
    这样的确比较麻烦(○’ω’○)
    zhc
        28
    zhc  
       2014-05-16 10:21:56 +08:00
    宏观业务逻辑放在C具体一些控件的逻辑可以放在V,
    V的那些跟业务无关的逻辑可以封装起来.
    Comdex
        29
    Comdex  
       2014-05-16 17:53:13 +08:00 via Android
    golang的checkerr
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3130 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:57 · PVG 21:57 · LAX 05:57 · JFK 08:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.