mud_sanc 板


LINE

以家族系统为例, 采用 MAGI 架构, 分为三个部份.. 1.CASPER - 基本函数库 2.MELCHIOR - 副程式, 应用函数 3.BALTHASAR - 外附程式(如族徽) 要撰写一般中型系统, 以上述做为基本的分类方式就足够了, 家族系统总行数约 4xxx 行, CASPER 约 1200 行, MELCHIOR 约 1100 行, BALTHASAR 约 700 行, 剩下的 1xxx 行即家族 所, 也就是实际上下指令执行家族功能的地方. 分类的好处在於, 程式的本体如果行数过多的话, 适当的分类 可以将程式做适当的切割, 让程式本身的可读性增加, debug 起来也方便. 简单的中型系统, 例如商店系统, 若以上述的分类.. 1.CASPER - 可以定义一些商品数值读取的函数 2.MELCHIOR - 可以设一些收钱的函数, 商品列表副程式,.. 3.BALTHASAR - 打工即现行商店的外附程式 中型系统的撰写步骤, 并没有一定的规则, 我的做法是, 例如 撰写商店系统, 一般是先写一个简易版的商店, 完成後将其切 割为两部份, shop1 及 shop2, shop2 继承 shop1, 而 shop1 就是专门存放基本的行数之用. 切割完成并 debug 後, shop2 即为可继承用之物件, 这时就可 以撰写实体的商店物件. 而将来想加入其它功能时, 就用外附 的方式附加, 如撰写 shop_work.c, 然後让 shop2 去 inherit 它即可. BALTHASAR 的写法有二.. 一、继承式 二、呼叫式 继承式.. inherit SHOP1; inherit SHOP_WORK2; // 同时继承此两者 或者让 SHOP_WORK2 去 inherit SHOP1, 然後 SHOP2 就继承 SHOP_WORK 也可以... MAGI System CASPER / \ MELCHIOR-----BALTHASAR 後者比较接近上述的架构. 呼叫式.. int shop_work() { SHOP_WORK->shop_work(); return 1; } 即使用呼叫的方式, 而非继承的方式. 优点是 shop_work 做变动时, 只需 update shop_work 本身即可, 无需同时 去 update 所有的商店. 但缺点是, 玩家每 work 一次, 就会做一次外部呼叫. 不过考量到未来维护的方便性, 以前者的做法较好, 另一 个主要考量, 即 work 本身并不存在可能被频繁呼叫的问 题. 以上, 提供给想撰写中型系统者参考, 大抵上一般都是先 弄出雏形, 然後分割以便於维护、扩充及 debug, 之後才 是扩充的部份. 在扩充的当中若发现程式行数有可能过多 时, 就可以撰写独立的物件让原先的程式本体去另外继承 或者呼叫. Laechan --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.146.140.32
1F:→ laechan:附带一提, 国家系统就类似数个中型系统去做并接 11/13 18:43







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP