Soft_Job 板


LINE

聊一下可能的具体实现作法比较好想像 我要设计一个Web有会员登入的留言板功能 会员登入 MVC介面定义档 MemeberLogin: -View: login(userinfo) Controller:login(userinfo) Model : login(userinfo) 留言板 MVC介面定义档 MessageBoard: -View: newMessage(message) Controller: newMessage(message) Model: newMessage(message) -View: editMessage(message) Controller: editMessage(message) Model: editMessage(message) 专案介面定义档 MonolithProject: -MemberLogin: MVCDefineFile MessageBoard: MVCDefineFile 专案介面定义档1 MicroServiceMemberLogin: MemberLogin: MVCDefineFile 专案介面定义档2 MicroServiceMessageBoard: MessageBoard: MVCDefineFile 藉由不同的定义档 也可以实现MVC转化其他架构 藉由不同的专案定义档来实现专案的架构 所有的function再各自去实作即可 这应该是我猜想的软体定义架构吧 --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.136.41.39
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1495964241.A.F6D.html
1F:→ pttworld: php的cms不就一堆外挂。05/28 18:20
架构跟外挂不太一样啊 我所想的软体定义架构是 可以依据需求任意改变架构 也就是说当你想把Model部分独立出来 还可以做到类似 MicroServiceLoginModel: LoginModel: ModelDefineFile 也就是横向切分的处理 上面的范例是属於纵向切分 ※ 编辑: ripple0129 (223.136.41.39), 05/28/2017 18:24:41
2F:→ pttworld: 你的改变是指编译期还是执行期。05/28 18:59
编译啊,动态时期改变似乎意义不大。用软体定义架构是为了更有弹性的修改。当然如果 有什麽需求是需要在runtime做改变,自然也可以去实现。 ※ 编辑: ripple0129 (223.136.41.39), 05/28/2017 19:05:17
3F:推 CoNsTaR: 看不出来你想要表达什麽05/28 19:06
4F:→ CoNsTaR: 你是想讲任何(或符合某些条件的)程式都能这样设计吗05/28 19:06
5F:→ CoNsTaR: 要找最好的软体架构这题目太大了,程式语言理论(PLT)就05/28 19:06
6F:→ CoNsTaR: 有在做这个05/28 19:06
7F:→ CoNsTaR: 建议你可以先去参考看看别人已经做出来的研究成果再来谈05/28 19:06
8F:→ CoNsTaR: ~05/28 19:06
其实就是需求往往改变 但弹性不够的情形下也无法配合需求任意修改 如果因应需求而可以轻松任意修改架构的情形下 能够解决许多问题 所有的架构可以细到一个function就成为一个service 也可以一整个大功能就是一个service 这中间是可以透过定义架构来解决 初期设计往往是大功能为service 而随着使用者增加或新功能要使用相同的小功能 势必要再细化 如果单纯只靠软体架构的定义就能够解决 那应该是会轻松很多 ※ 编辑: ripple0129 (223.136.41.39), 05/28/2017 19:20:13
9F:→ pttworld: 坦白跟你说你一开始想的功能呈现只是外挂,函式库,模 05/28 19:10
10F:→ pttworld: 组就能做到的结果,但是却硬扯架构,这是知识理解的问05/28 19:10
11F:→ pttworld: 题。05/28 19:10
的确是这样子说没错 但就是你必须要定义你的模组使用方式与流程 透过不同定义来改变架构啊 ※ 编辑: ripple0129 (223.136.41.39), 05/28/2017 19:26:32
12F:推 CoNsTaR: 就跟你说你想做的事情别人已经有学术研究了 05/28 19:40
13F:→ CoNsTaR: 曾经看过和你想法很像的(我也曾经这样想过)论文 05/28 19:40
14F:→ CoNsTaR: 试试看找"extensible type system",有很多相关资料05/28 19:40
15F:→ CoNsTaR: 大约的想法是,你可以任意丢新的零件进系统理05/28 19:40
16F:→ CoNsTaR: 所有零件都知道自己能怎麽和其他哪些零件组合、互动05/28 19:40
17F:→ CoNsTaR: 不需要你操心哪个零件的用途如何,你组错了程式就编不过05/28 19:40
18F:→ CoNsTaR: 当然每个系统都有自己的限制,有很多东西是已经被证明无05/28 19:40
19F:→ CoNsTaR: 法达成的,给你参考05/28 19:40
了解感谢关键字 ※ 编辑: ripple0129 (223.136.41.39), 05/28/2017 19:44:15
20F:推 CoNsTaR: 像你的做法是所有东西都提供一样的介面 05/28 19:48
21F:→ CoNsTaR: 所以零件之间可以知道怎麽和对方沟通 05/28 19:48
22F:→ CoNsTaR: 我们的做法是需要一样的时候才一样,不需要的时候就不一 05/28 19:48
23F:→ CoNsTaR: 样 05/28 19:48
24F:→ CoNsTaR: 而且能够被组合起来的零件才知道要怎麽和对方沟通 05/28 19:48
25F:→ CoNsTaR: 组不起来的编译就失败了~ 05/28 19:48
26F:推 CoNsTaR: 对了,还有pure subtype system也可以看看 05/28 20:17
27F:推 Windf: 定义档到最後为了要泛用,你会发现写定义跟写程式是一样的 05/28 21:10
28F:推 gmoz: 推楼上 05/28 21:40
29F:推 sunsamy: 不一样喔!当porject量一大就可以看出差异 05/28 21:42







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灯, 水草

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

TOP