你所理解的“模块化”是怎样的;来讲一下一切你对模块化所做过的思考吧

2015-09-15 11:21:15 +08:00
 kfll
3215 次点击
所在节点    程序员
10 条回复
iugo
2015-09-15 11:29:11 +08:00
模块之间没有代码与数据的纠缠. 互相独立.
比如 mailgun 是邮件模块.

但是模块颗粒度不同, 可以大模块包含小模块.
比如基于 mailgun 制作找回密码模块.
500miles
2015-09-15 13:38:46 +08:00
最好是单独拎出来可用了 当然这种很难...只有像 发短信 发邮件之类的 才能做到吧

大部分时间都要对应一些具体业务逻辑, 尽量做到 沿着业务逻辑这条线, 拆分 组合各种小模块吧, 再就是适合的设计模式的应用了


功力不到, 说不清楚 ... 希望更有经验的牛牛分享下.. 经常思考 尝试; 但是总感觉不理想
ryanking8215
2015-09-15 13:42:47 +08:00
轻耦合,高内聚。
往这 2 个靠准没错
anubiskong
2015-09-15 13:50:32 +08:00
文件目录不同, 恩, 别理我
lyd600lty
2015-09-15 17:17:39 +08:00
不好好上班啊你。
exch4nge
2015-09-15 17:57:19 +08:00
模块间尽可能没有循环(相互)依赖关系,分清主次关系,比如 A 使用 B 模块,那你在写 B 模块的时候,需要尽可能不依赖 A 模块,并写清楚哪些是 A 模块会调用的接口。如果 B 模块有主动行为,可以考虑用注册回调函数等等的其它设计方式来避免直接依赖 A 。

划分模块的过程很痛苦,有些功能可以放这也可以放那,需要长时间的思考+几次推倒重设计,来完成适合此项目的模块设计,过度设计也不好,不设计就更不好。
kfll
2015-09-15 18:35:34 +08:00
@lyd600lty 咱那还在吃饭时间ˊ_>ˋ
Felldeadbird
2015-09-15 20:29:59 +08:00
方便搬砖就是好模块
ddou
2015-09-15 22:34:02 +08:00
最先想到的就是 功能内聚,接口清晰、易用
empvio
2015-09-16 17:37:19 +08:00
低耦合,高内聚,可复用,能拓展 。是这个意思么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/220787

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX