CSSE 板


LINE

※ 引述《H45 (!H45)》之铭言: : 我想封装性并不全然消失 : -- : 推 tinlans:其实我要说的破坏封装性,是指 house 被迫 open 给 02/12 15:26 : → tinlans:visitor 的部分,因为 visitor 本身跟 house 是分离的。 02/12 15:27 我的观点是,封装性须要利用一些方式加以处理 如果封得太死的话,反而会引发出一些麻烦 一般而言,面对不同模组之间的封装性问题 我自己会依赖 Facade 来处理 至於模组内部各 class 之间,我就不太要求一定要封装 在这样的原则下,我会对 class 结构区分为两类: * 一类为结构类 class,作为系统运作时资料面的结构 * 一类为行为类 class,定义操作结构类 class 时的动作与过程 在一般的应用中,结构类 class 由於在模组内被广泛使用 我自己的作法是不封装结构类 class,模组内的所有 class 都知晓整个结构 这样子作的用意是,相对而言,结构还是比较不会变动 而行为部分则会因为系统功能的多寡而随之变动 (比如客户会多要求,能不能统计某某某资讯之类的需求) 面对这种需要开高弹性的地方,我会把它摆进行为类 class 中处理 而当遇到需要 Visitor pattern 的时机 几乎都是针对结构类 class 进行 traversal 在这种情况下,配合我针对这两类 class 的处理原则 使用 Visitor pattern 所遇到的封装性破坏问题,就不再是重点 反正资类面的结构就是公开来让模组内的所有 class 知晓 如果,还是得要加以封装的话 这时可能得要用上 Mediator pattern 来隐藏结构性的问题 不过,当问题处理到这种层级时,就有点过於复杂 如果案件规模没有大到一定的程度,这种搞法,就有点杀鸡用牛刀的感觉 先讲到这里 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.245.88.236







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

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

TOP