Don’t Stretch the Architecture Metaphors
来源:互联网 发布:大数据用英文怎么说 编辑:程序博客网 时间:2024/05/29 18:23

Don’t Stretch the Architecture Metaphors
David Ing
ARCHiTECTS liKE To dEAl WiTH METApHoRS. They provide nice con- crete handles on subjects that are often abstract, complex, and moving targets. Whether it is communicating with the rest of the team or talking through the architecture with the end user, it is so tempting to find something tangible or physical to use as a metaphor for what you are trying to build.
This usually starts well, in that a common language can evolve where people start to feel that things are moving in the right direction. The metaphor devel- ops and grows over time until it takes on a life of its own. People feel good about the metaphor—we’re making progress!
What usually happens is that the metaphor for the architecture now becomes dangerous. Here’s how it can turn on its architect creators:
• The business domain customer starts to like your metaphor more that your proposed system, in that the happiest possible interpretation is now shared by all concerned and no real constraints are uncovered.
Example: “We’re building a transport system like a ship travelling between a series of docks.”
You think container ships crossing the Pacific. I was actually thinking a rowing boat in a swimming pool, with possibly one oar.
• The development team starts to think that the metaphor is more impor- tant than the actual business problem. You start to justify odd decisions because of a fondness for the metaphor.

Example: “We said it’s like a filing cabinet, so of course we have to show it to the user alphabetically. I know it’s a filing cabinet with six dimensions and of infinite length and with a clock built in to it, but we’ve done the icon now—so it has to be a filing cabinet…”.
• The delivered system contains relics of names from old, broken metaphors long gone—archaeological testimonials to concepts long refactored and dug over.
Example: “Why does the Billing Factory object create a Port channel for the Rowing boat system? Surely it should return a Pomegranate view for the Hub Bus? What do you mean you’re new here?”
So remember, don’t fall in love with your system metaphor—only use it for exploratory communication purposes, and don’t let it turn on you.
David Ing is a software architect/technologist living and working in Vancouver, British Columbia. Originally from the U.K., he moved across to get away from the rain, although now feels tricked by dishonest tourist literature.
As fashion dictates, he now works at Web 2.0 company Taglocity, where he splits his time trying to make email systems “less awful” and figure out what Web 2.0 actually means.
- Don’t Stretch the Architecture Metaphors
- Don't in the
- Don’t repeat the DAO!
- Don’t repeat the DAO!
- Don't spill the beans.
- Don't spill the beans.
- Don’t Break The Chain
- Don’t Skip Vacations for the Project
- THE QUESTIONS :The Top 25 (what we don't know?)
- Don’t depend on the internet all the time.
- Enjoy everyday and don't be the Monkey
- Don't Follow the Follower 人生切勿盲跟从
- I don't wanna be in the dark!
- Don't miss the opportunity, HOT position for yours
- I don't like the way you like
- I don't want to be the third wheel.
- Don't Just Learn the Language, Understand its Culture
- Don't Nail Your Program into the Upright Position
- 报表引擎API开发入门—带参程序数据集
- 云时代的分布式数据库:阿里分布式数据库服务DRDS
- App调试内存泄露之Context篇
- 谈一谈学习PS时的流程
- CSS代码段
- Don’t Stretch the Architecture Metaphors
- Ubuntu系统打开Vmware虚拟机出现could not open /dev/vmmon please make sure that the kernel moduel vmmon is load
- C语言函数的dll生成与调用
- HDU 4118 Holiday's Accommodation (2011年成都赛区现场赛H题)
- linux动态库的调用
- Focus on Application Support and Maintenance
- 算法记录---最小生成树【kruskal&&prim】
- 各种版本的PHP下载
- 《招聘一个靠谱的iOS》面试题参考答案(下)