作者kiwatami (悠游自在)
看板AndroidDev
标题Re: [问题] 常见的关键字命名意义
时间Tue Nov 24 08:32:23 2015
※ 引述《wong0101 (wong0101)》之铭言:
: 最近在碰android的source code,
: 发现很多class的命名都有相似之处,
: 例如: xxxManager, xxManagerService, Policy, Utilities..等
: 感觉这些class做的事情有一定的相似之处
: 例如:
: xxManagerService在整个android环境中只有一个实例(吗?)
: Utilities会放一些常用的static方法(吗?)
: 我想请教的是
: (1)上述举例的这些类别(xxxManager, xxManagerService, Policy, Utilities)
: 他们有什麽样的共同特性呢?让我们能根据命名知道这个class的功用
: (2)另外还有什麽样的命名方式是我上面没举例到的呢
: 先谢谢大家了~
这跟 java 的 Design Pattern 有关系
以资料库存取来说
就会分为三类 Entity, DAO, Service
命名规则则是
Entity = TableName
DAO = TableNameDAO
Service = TableNameService
而各自负责的工作分别是
Entity 为 Table 的实体资料物件
DAO 为存取资料的窗口
Service 则是做中间的逻辑判断, DAO 之间的交流以及其他各式处理
而你的 Controller 只要负责呼叫 Service 取得你要的资料即可
而由以上范例你可以发现
Service 就是负责主要的逻辑处理
不论是从网路捞资料还是从档案或资料库
都会在这边处理为一个物件後 回传给 Controller
再由 Controller 分配给某个 View 进行处理然後显示
再说得简单一点
其实就是一种让开发者之间可以更好的交流程式码的一种设计方法
所谓的交流最重要的就是 交接!!!!!!
至少你看名称就知道那个东西可能在做些什麽
所以程式设计师有80%的时间在想名字要怎麽取(!?)
但其实要遵守 Design Pattern 不靠自动化工具还满花时间的
有时候我自己也是 阿~ 隆吼哩啦~ 程式码随便丢
不过最後都会後悔为什麽当初不照着做 然後认命慢慢搬
若要深入的了解这一方面
可以找找看主流的 java design pattern
除了我上面提到的资料库存取以外还有很多
例如 Builder, Null Object 等等
这方面如果公司有前辈带会学得比较快 观念也会比较清楚
像我都是自己慢慢 Google 学得就比慢 观念也很杂
至於要不要照着做就是看你自己了
毕竟很多 Design Pattern 主要还是针对维护方面
不论是减少 Debug 的难度还是加速 Debug 的速度
一开始难免会影响开发速度
但这种事情是先苦後甘啦
除非你 Coding 完就离职 然後对公司怀有恨意
不过最後凄惨的也是接手的人而不是公司就是了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.251.19.98
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1448325146.A.E8C.html
1F:推 wong0101: 谢谢你! 11/27 21:02