• 静思
  • 吴言片语
    • 吴言
    • 片语
    • 杂七杂八
  • 死于青春
    • 一路走好
  • 乌合麒麟
  • 纪念
    • 5.12
    • 3.23
  • GitHub
    • A List of Post-mortems
    • The Art of Command Line
  • 关于
    • Privacy Policy

程序员的信仰

金鳞岂是池中物,一遇风云便化龙

HOME » 技术生活 » Object Modeling Strategies (II)

Object Modeling Strategies (II)

2005 年 9 月 19 日 @ 下午 3:23 by Jay | 被踩了 1,910 脚

Str#1d. “Invest an Hour” Strategy // activities and model components

– Rather than philosophize endlessly, invest an hour in each of several different ways of modeling a particularly challenging area. Compare your results — and decide which way to go (based upon actual results, rather than the outcome of a multiweek debate).


Str#1e. “Consider the Domain First, Artifacts After That” Strategy // activities and model components

– Build an object model with a domain expert first. Then add-in content that you can extract from artifacts (existing data models, source code, whatever).

– Reason why: you need the benefit of the former (fresh insights, new ideas) to help you grapple with the latter (what to include, what to exclude).


Str#1f. “Extract Useful Content From An Existing Data Model” Strategy // activities and model components

– Yes, it can be done.

– Best practice: build an initial object model with a domain expert first. Then use that model to help you filter out the classes and attributes (in an previous data model) that are no longer needed. Why: the added domain understanding will help you do a better job leaving unneeded things behind, rather than dragging everything from the past along with you once again.

– For the entities:

. List them. Delete correlation tables. Delete (or revise) names that do not fit the problem domain vocabulary (words that a domain expert uses and understands). Collapse supertypes-subtypes that do not express domain-based generalization-specialization.

– Then, when you work on attributes:

. List them. Delete (or revise) names that do not fit the problem domain vocabulary (words that a domain expert uses and understands). Delete flags, indicators, sequence numbers, and unique keys — nearly all of which are simply leftover implementation mechanisms from a previous system.


-- EOF --

除非注明(如“转载”、“[zz]”等),本博文章皆为原创内容,转载时请注明: 「转载自程序员的信仰©」
本文链接地址:Object Modeling Strategies (II)

分享

  • 点击分享到 Facebook (在新窗口中打开) Facebook
  • 点击以分享到 X(在新窗口中打开) X
  • 更多
  • 点击分享到Reddit(在新窗口中打开) Reddit
  • 点击分享到Telegram(在新窗口中打开) Telegram
  • 点击以在 Mastodon 上共享(在新窗口中打开) Mastodon

赞过:

赞 正在加载……

相关

Today on history:

【2006】开始mac生活
Posted in: 技术生活 Tagged: oo
← Meet god father
Object Modeling Strategies (III) →

android (9) apple (20) augmentum (9) Beijing (21) bt (8) career (28) coding (38) firefox (10) google (36) hibernate (11) ibm (11) iphone (10) java (93) linux (16) m$ (26) mac (58) macos (27) nazca (9) olympics (8) oo (8) playstation (10) rip (8) Shanghai (39) spring (9) tips (45) tommy emmanuel (8) ubuntu (12) usa (23) windows (9) 北航 (17) 博客 (29) 吐槽 (8) 周末 (9) 和谐社会 (26) 小资 (11) 愤青 (40) 方言 (10) 朋友 (77) 歌词 (8) 烟酒不分家 (18) 爱国 (19) 爱情 (8) 犯二 (15) 破解 (8) 足球 (11)

烫手山芋

  • 再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~ - 被踩了 27,834 脚
  • 生活,就是一个期待跟着一个期待 - 被踩了 21,391 脚
  • 星巴克饮品缩写大全(Starbucks Drink ID Codes)[zz] - 被踩了 18,485 脚
  • 从一个全角冒号说一下我为什么不感冒iOS - 被踩了 14,425 脚
  • 有关Character.isLetter()和Character.isLetterOrDigit() - 被踩了 13,627 脚

刚拍的砖

  • leo 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》
  • 花 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》
  • 无名氏 发表在《从一个全角冒号说一下我为什么不感冒iOS》
  • Jay 发表在《Mac OS geek级问题》
  • Wei Wang 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》

随便看看

  • 一些鲜为人知的编程事实 [zz]14 年 ago
  • 春晚,谁要这样的面子工程? [zz]19 年 ago
  • 考试……疲劳……狂一下20 年 ago
  • 遍历Map<K, Collection<V>>的正确方法17 年 ago
  • 经典的回帖 [zz]9 年 ago

文以类聚

光阴似箭

其他操作

  • 登录
  • 条目 feed
  • 评论 feed
  • WordPress.org

Copyright © 2025 程序员的信仰.

Jay's Omega WordPress Theme by Jay

 

正在加载评论...
 

    %d