• Three Good Things


    最近偶然看到<<UML Distilled>>里,提到了我最喜欢的3个事物。

    Since ancient times, the most talented architects and the most gifted designers have known the law 
    of parsimony. Whether it is stated as a paradox ("less is more"), or a koan ("Zen mind is beginner's 
    mind"), its wisdom is timeless: Reduce everything to its essence so that form harmonizes with 
    function. From the pyramids to the Sydney Opera House, from von Neumann architectures to UNIX 
    and Smalltalk, the best architects and designers have strived to follow this universal and eternal 
    principle. 
    Recognizing the value of shaving with Occam's Razor, when I architect and read I seek projects and 
    books that adhere to the law of parsimony. Consequently, I applaud the book you are reading now. 
    You may find my last remark surprising at first. I am frequently associated with the voluminous and 
    dense specifications that define the Unified Modeling Language (UML). These specifications allow tool 
    vendors to implement the UML and methodologists to apply it. For seven years, I have chaired large 
    international standardization teams to specify UML 1.1 and UML 2.0, as well as several minor 
    revisions in between. During this time, the UML has matured in expressiveness and precision, but it 
    has also added gratuitous complexity as a result of the standardization process. Regrettably, 
    standardization processes are better known for design-by-committee compromises than 
    parsimonious elegance. 
    What can a UML expert familiar with the arcane minutiae of the specification learn from Martin's 
    distillation of UML 2.0? Quite a bit, as can you. To start with, Martin adroitly reduces a large and 
    complex language into a pragmatic subset that he has proven effective in his practice. He has 
    resisted the easy route of tacking on additional pages to the last edition of his book. As the language 
    has grown, Martin has kept true to his goal of seeking the "fraction of UML that is most useful" and 
    telling you just that. The fraction he refers to is the mythical 20 percent of UML that helps you do 80 
    percent of your work. Capturing and taming this elusive beast is no mean accomplishment! 
    It is even more impressive that Martin achieves this goal while writing in a wonderfully engaging 
    conversational style. By sharing his opinions and anecdotes with us, he makes this book fun to read 
    and reminds us that architecting and designing systems should be both creative and productive. If 
    we pursue the parsimony koan to its full intent, we should find UML modeling projects to be as 
    enjoyable as we found finger-painting and drawing classes in grammar school. UML should be a 
    lightning rod for our creativity as well as a laser for precisely specifying system blueprints so that 
    third parties can bid and build those systems. The latter is the acid test for any bona fide blueprint 
    language. 
    So, while this may be a small book, it is not a trivial one. You can learn as much from Martin's 
    approach to modeling as you can learn from his explanations of UML 2.0. 
    I have enjoyed working with Martin to improve the selection and correctness of the UML 2.0 
    language features explained in this revision. We need to keep in mind that all living languages, both 
    natural and synthetic, must evolve or perish. Martin's choices of new features, along with your 
    preferences and those of other practitioners, are a crucial part of the UML revision process. They 
    keep the language vital and help it evolve via natural selection in the marketplace. 
    Much challenging work remains before model-driven development becomes mainstream, but I am 
    encouraged by books like this that explain UML modeling basics clearly and apply them 
    pragmatically. I hope you will learn from it as I have and will use your new insights to improve your 
    own software modeling practices. 
    Cris Kobryn 
    Chair, U2 Partners' UML 2.0 Submission Team 

    Chief Technologist, Telelogic  

  • 相关阅读:
    C# TCP/IP 服务端 和 客户端
    (trigger)触发器的定义和作用
    AD账号登陆验证
    DES加密&解密字符串
    机器视觉(工业视觉)需要什么技能
    机器视觉对位贴合
    Halcon blob分析基本处理步骤
    cross_val_score 交叉验证与 K折交叉验证,嗯都是抄来的,自己作个参考
    50道SQL练习题及答案与详细分析(MySQL)
    MySQL8.0 ROW_NUMBER、RANK、DENSE_RANK窗口函数 分组排序排名
  • 原文地址:https://www.cnblogs.com/Chrome/p/2284430.html
Copyright © 2020-2023  润新知