- 浏览: 119626 次
- 来自: ...
文章分类
最新评论
1,书名
被翻译成“面向对象软件开发教程”,若不是Scott Ambler名声在外,就要错过旧书摊上这本10几块的书了,虽然错过也没太大影响
2,UML vs. Programming Language
如果图形和文本基于同一种对象模型,则它们之间可以做到无缝转换;如各种可以存为XML文档的图元,XML文档和图元都基于XML Schema,任何一种表示都可以不损失任何信息的转化为另外一种表示;然而UML不和任何一种编程语言基于同一种对象模型,并且越细节,图形和代码之间的缝隙越大,由代码逆向工程得到的序列图几乎没有任何价值,因此减少这种缝隙的方法就是:
a,要么修改UML的元模型、语义,将其变为另外一种编程语言,并开发相应的编译器
b,要么将UML做为草图来用(UML as sketch),不要当作蓝图(UML as blueprint),因为在草图阶段,与编程语言的缝隙并不大
不知原文如何,有一小节标题被翻译成“一图胜千言”,这也说明了UML的用处:用在一张图可以概括很多代码的地方,图与代码一对一的情况下,图基本上是没有用处的,至少目前如此;其实Scott Ambler对MDA基本持保留意见,与与他观点类似的还有Martin Fowler
3,软件与硬件
有一小节举了硬件生产中芯片和主板的例子,以此说明面向对象软件应有的可扩展性和可复用性,通常拿硬件来隐喻软件也大抵如此了,可硬件能带来的隐喻还不止如此,芯片和主板都不知道自己被组装到一起的过程,这一组装过程也是可复用的,可扩展的,隐喻到软件就是程序中没有显式的创建芯片和主板并将它们关联在一起的代码,而是IoC;牵强了点,暂且如此吧
4,用例与用例图
Scott说:“绘制用例图是容易的,但确定用例和参与者却是困难的部分”;可有多少人拿着鸡毛当令箭,拿着用例图当用例,建议以后书里面都不要讲用例图,只讲用例,顶多在附录里图示一下
5,扩展点
用例的扩展点实在是AOP的pointcut的始祖,这个结论已经被接受了,Ivar Jacobson关于用例扩展点的论文甚至被AOP专家认为是AOP早期论文
6,UML风格
作者在《UML风格》中提到的一些条款在本书也提到了,呵呵,一本顶两本
7,不需要编码的原型
想验证一下需求?做个原型吧!不想编码?那就扮演吧!上过外教的课,又唱又跳,不拿自己当外人,这方面国人是差点,不知有没有开发团队真的通过类似角色扮演的方法收集,验证需求等;相同的是管理层都不太接受这种方法,这是保守与自由,统治与被统治间的矛盾,内外皆然
8,信息隐藏,数据隐藏
实在是“实现隐藏”更能表达本质的概念
9,耦合
仅仅简单的说“松耦合”已不代表任何意义了,现在要区分“侵入”与“非侵入”
10,组件
Scott Ambler:组件是模块化的、封装良好的单元,组件可以单独部署
Ralph Johnson:Components are not a technology. Technology people seem to find this hard to understand. Components are about how customers want to relate to software. They want to be able to buy their software a piece at a time, and to be able to upgrade it just like they can upgrade their stereo. They want new pieces to work seamlessly with their old pieces, and to be able to upgrade on their own schedule, not the manufacturer's schedule. They want to be able to mix and match pieces from various manufacturers. This is a very reasonable requirement. It is just hard to satisfy.
11,分析
需求决定请求构建的内容,分析决定将要构建的内容
12,UI
我更倾向称之为“用户交互层”,“用户接口层”,而不是“用户界面层”,因为界面让人联想到屏幕,图形,窗口等,可UI还包括命令行,语音等,拨IP电话卡时,一步步引导你的就是UI层,可是没有屏幕,图形,窗口
13,Java风格
作者在《Java风格》中提到的一些条款在本书也提到了,呵呵,一本顶三本了
14,ctor与setter
Scott说尽量使用setter设置属性,在ctor中传参设置属性是不好的做法,可是,ctor的作用就是保证对象在使用前处于良好的状态,如果某个比较重要的属性在对象被使用前必须设置,那么最好在ctor中传参设置
15,源代码
Scott说源代码包括编程语言的源代码和SQL脚本,现在要加上各种配置文件了,它们就是各种容器的“源代码”
16,迭代与增量
我见过的大多打着迭代旗号的项目其实是增量开发,委实是“增量”这个术语应该比“迭代”更流行,就算每个增量开发项目也都是迭代的,但准确的表达会潜移默化的影响着人们的思想
17,入门
《The Object Primer SE》+《Uml Distilled 3rd Edition》+《The Java Programming Language 3rd Edition》目前为止较好的面向对象编程入门读物,只需两个月的时间.
发表评论
-
错误处理规范
2004-12-11 16:47 762错误处理规范 〇、概念澄清 概念 解释 错误 ... -
Java,误解为何如此之深
2005-08-24 13:50 597前几天被电话面试,问J ... -
Java:画蛇添足的编码规范
2005-09-02 13:13 627前几天公司培训编码规范: 第n条: ... -
synchronized : 规则, 推论与实践
2007-07-23 22:32 47314.3.Synchronization. Rule ... -
交互设计: 股市帮凶
2008-05-04 21:30 650同事 Y 在线操作股票时, 把"买入"点成 ... -
交互设计: 火车上的厕所
2008-05-26 17:17 614有人在动车组的厕所前等了很久, 直到乘务员路过说厕所是被锁住了 ... -
设计原则与模式: 案例介绍--CppUnit
2008-06-01 20:15 637设计原则与模式: 案例介绍--CppUnit CppUnit ... -
工作流:形参,实参,相关数据
2004-12-11 11:40 680关于形参,实参,相关数据 一、形参(FormalParame ... -
工作流:第一次发版,过程总结
2004-12-11 11:42 714交流 即时讨论:小组成员咫尺之遥,有问题立即提出并解决 ... -
工作流:第一次发版,设计总结
2004-12-11 11:43 618整体 面向接口:消息系统,持久系统等,其实现都是可替换 ... -
Beyond Workflow : An Introduction to Vitria BusinessWare
2005-09-26 10:13 807一、简介 Busines ... -
Vitria BusinessWare: 存储与访问安全
2006-03-26 15:45 755事实上,BusinessWare使用LDAP做为存储机制和 ... -
Vitria BusinessWare: 平台与软件总线
2006-04-01 12:59 856经过一段时间的使用 ... -
Vitria BusinessWare: Web Services
2006-04-01 14:30 745BusinessWare的Web Services ... -
Web Services:自洽,编码,交换模型
2006-04-01 16:02 6911, 自洽 以前曾经写过: 目前WebServi ... -
Web Services:WSDL 1.1 规范中的几个错误
2006-04-01 16:40 730读完了WSDL 1.1的规范,令人惊讶的是发现似乎例子中有几个 ... -
C++/CLI:被忽视的集成技术
2006-05-17 20:02 762十几行代码,就使一个重要的旧系统组件,完全融入了基于.Ne ... -
AJP/JK:异构Web平台的集成技术
2006-05-25 21:44 716Tomcat Connector 可以将Tomcat ... -
Vitria BusinessWare: 事件与端口
2006-05-27 17:24 688Event BusinessWare是一个事件驱动的系统 ... -
WS-Security Interoperability Issues: WebSphere, JBoss, Axis and .Net
2006-08-31 22:46 845检验了一下WS-Security的互操作情况,涉及到 ...
相关推荐
The Object Primer -3rd edition Agile Model-Driven Development With Uml 2.0 (-2004 Cambridge).chm
**标题**:“The Object Primer 2nd Edition” **描述**:这本书是面向对象(OO)软件的一种结构化步骤介绍,采用教学风格编写,易于初学者阅读。 面向对象编程是一种编程范式,它通过“对象”来组织代码结构。...
### 《对象入门指南:敏捷建模技术介绍》关键知识点概览 #### 一、引言 《对象入门指南:敏捷建模技术介绍》第二版是一本深入浅出地介绍了面向对象开发方法与敏捷建模技术的重要著作。本书由Ronin International...
The Object-Oriented Thought Process is a concise and readable primer. Matt Weisfeld s years of programming, teaching, and writing have given him a flair for presenting highly technical topics in a ...
敏捷模型 Agile Modeling.PDF
他的著作还包括《The Object Primer》和《Building Object Applications That Work》,这些书籍同样关注于面向对象技术的应用和实践。 总之,《More Process Patterns》这本书对于希望掌握大规模系统开发的读者来说...
- **《对象入门第二版》(The Object Primer 2nd Edition)**:提供了面向对象设计的基本概念。 - **《构建有效对象应用》(Building Object Applications That Work)**:深入探讨了构建高质量软件的方法。 - **《过程...
Ambler的作品,其中包括《构建有效的对象应用》(Building Object Applications That Work)、《过程模式》(Process Patterns)、《对象入门第二版》(The Object Primer 2nd Edition),以及发表在《软件开发杂志...
There are eight directories, representing the eight chapters of the C# Primer text, in which Visual Studio.NET projects are stored. These have all been compiled under a post-Release Candidate, but ...
Build sophisticated web applications by mastering the art of Object-Oriented Javascript About This Book Learn popular Object-Oriented programming (OOP) principles and design patterns to build robust ...
Highlighting the new aspects of MATLAB(R) 7.10 and expanding on many existing features, MATLAB(R) Primer, Eighth Edition shows you how to solve problems in science, engineering, and mathematics....
- 《C++ Primer中文版(第4版)》(Stanley B. Lippman,人民邮电出版社) - 《C++程序设计语言(特别版)》(Bjarne Stroustrup,裘宗燕译,机械工业出版社) - 《C++编程思想》(Bruce Eckel著,刘宗田等译,...
The book teaches "Matlab-style" and procedural programming as well as object-oriented programming. High school mathematics is a required background and it is advantageous to study classical and ...
ruby 面向对象编程第二版(2018)基于ruby 2.5 The Complete Guide to Writing Maintainable, Manageable, Pleasing, and Powerful Object-Oriented Applications
The book teaches “Matlab-style” and procedural programming as well as object-oriented programming. High school mathematics is a required background and it is advantageous to study classical and ...
The book teaches "Matlab-style" and procedural programming as well as object-oriented programming. High school mathematics is a required background, and it is advantageous to study classical and ...
The C++/CLI Primer is a powerful but compact book that will guide you through that barrier. Many of today’s complex transactions and enterprise applications count on C++/CLI. Visual Studio 2015 and...
The C++/CLI Primer is a powerful but compact book that will guide you through that barrier. Many of today's complex transactions and enterprise applications count on C++/CLI. Visual Studio 2015 and ...
The book teaches 'Matlab-style' and procedural programming as well as object-oriented programming. High school mathematics is a required background, and it is advantageou s to study classical and ...