基本信息
编辑推荐
从简单的对象封装开始,逐步到快速开发的平台。...
内容简介
计算机书籍
本书以.NET C#为实现环境,通过大量的“自定义”构件由浅入深地诠释了“面向对象”理念的完整实践。针对每个控件(或应用设计)翔实地解析了“需求分析→命题抽象→设计构思→设计实现(封装)→运行效果(截图、验证)”的全过程。题材选择经典、广泛、通用,构思清晰严谨,代码经过验证,很多题材都可直接用于项目设计。以此为基础可构造自己的“开发平台”,可提高编程效率达50%以上,设计复用度达到70%以上。这些设计构思与设计理念基本与语言无关,在其他编程语言、数据库基础上同样可以实现且效果良好。
本书能快速提升技术资本价值,特别适合于编程、需求、架构、项目管理等从业人员借鉴,也可为企业的技术积累提供参考性方案。
作译者
目录
1.1 概述
1.2 素材搜集
1.3 需求分析
1.4 需求方案撰写
1.5 需求与项目风险
1.6 总结
第2章 数据体系与规则
2.1 概述
2.2 命名规范
2.3 表结构定义
2.4 物理表分类
2.5 物理表设计
2.6 关于索引
2.7 实现与版本
2.8 代码命名规则
2.9 代码书写规范
2.10 总结(规范的作用)
第3章 自定义按钮控件
3.1 概述
前言
读者群体
本书基于开发过程的各个环节,总结筛选了一批经常可以被“复用”的命题素材,并将其创造成极具代表性的设计样例。以此来由浅入深地诠释面向对象的设计理念是如何被应用于实践的问题。这些设计过程基本可以做到与语言无关,但本书中则是基于.NET C#实现的具体样例。
这些样例并不局限于某个项目的具体应用,而是侧重于通用、共性的特点,当把这些通用、共性的设计成分组织成一个相对完整的体系之后,就可以形成一个具有“复用”价值的开发工作环境。以这些通用设计为基础进行应用项目的开发,可以大大提高开发效率、降低对人员素质的要求,也可以在减少测试工作量的同时保证开发质量。
只要能够坚持面向对象的设计理念,做到自定义“构件”一点也不难,在你设计了一批“构件”并能形成体系的时候,自然就会发现“构件”化的设计体系也不过如此。同时也会感慨:面向对象的殿堂原来是如此壮观与辉煌。
本书涉及软件工程的各个方面:从基本规范到数据构造,从对象设计到系统框构,从项目组织到实施交付等各个层面。如果你正置身于软件行业之中,不管你在担当着哪种角色,都会或多或少地得到一些有价值的参考。
编程人员:本书系统性地介绍了一大批非常经典的“自定义类”及“公用方法”,编程人员可以从中选择一些自己感兴趣的设计样例作为突破点,通过模拟实现或直接引用来解决实战中的真实命题。因为这些样例就是针对那些实战中带有普遍性的问题而设计的,只有能够回归实战才会有实际意义。通过这个过程可以尽快达到领悟设计理念、提高技术水平、解决实战问题的多重目的。
架构设计:架构设计是项目的难点,也是质量优劣的关键。因为它是将抽象思维付诸实践的过程,经常是代码不多,但其作用会遍及整个系统。如果单纯地介绍这种存在于有形无形之间的构思会很困难,也不容易被应用于实践。本书则特别注重了架构在体系中的形成过程与作用方式,并且通过各个层面上的设计样例来描述这些基于“控件思维”的各种具体实现,其中既包括简单的控件对象,也包括各种元素的作用关系,还包括整个系统的状态控制与功能组配。在设计样例中不乏那些贯穿于系统、要求适应性、富于变化而又基于代码难以穷尽的各种命题,只有通过抽象构思、架构方案才有可能彻底解决。比如:容器类的封装、授权机制、审计机制、菜单管理、热键配置等类似的命题都是在架构设计过程中所要面对的实际命题。
开发管理:通过全面理解面向对象的开发特点,对把握规范的执行、理解设计难度、合理指派人力资源、合理安排任务的实现顺序等问题会有更明确的认识。尤其是如何避免主观理解的差异、沟通中的偏差等常见问题,这些都需要具体的措施与策略。通过对象的封装与模板的使用,可以达到简化设计任务描述、精确控制设计目标与设计过程的目的。
项目实施:设计方案的“可配置”性是一种系统化的构思,这样的设计得益于面向对象的封装,也得益于系统架构的体系完整。基于这样的构思可以在极大程度上改善实施过程对编程人员的依赖性。设计过程侧重于业务逻辑的控制,实施过程则侧重于外在的数据表现及简单的参数调整。很多需求变化完全可以通过现场的参数配置来适应用户需求的各种变化,甚至能在现场实现应用功能的“重载”。
经营决策:如何减少对自然人的依赖程度,把历史上的技术过程积淀成企业的技术积累是企业所关心的问题。只要组织得当,通过面向对象的设计过程,不但能够有效形成企业的技术积累,还能形成“应用模型”的有效积累。一旦积累形成,就能形成有效的“复用”,也会减少对自然人的过度依赖。在技术层面上对人力资源的细分,有助于降低成本与提高效率。这些经验都已纳入本书的阐述目标,并且形成了可被复用的具体模式。
工程监理:本书涉及软件工程的大部分通用性问题(而不是针对某个具体项目),从中所能得到的规律性内涵对把握软件项目的关键节点能够起到重要的作用。这些工程理念对准确理解甲方意图、准确分辨设计方案的优劣、清晰控制进度节点、敏感发现项目中的症结所在等都会有所帮助。
面向对象之领悟
“对象”以真实的事物(不是抽象概念或通俗比喻)为原型,通过封装与继承来解决事物规律(类)与真实应用(实例)中可能出现的差别,这就是把错综复杂的命题变成整体打包的“封装”过程。由于这个过程必须要强调对事物过程的归纳与抽象,所以必然会提高设计“对象”的门槛,也正是因为“类对象”存在着这样的抽象过程,所以才有可能降低应用实例的实现难度,并能具备较大的适用范围。
很多程序员对“对象”概念的理解是“雾里看花”的状态,似乎能理解,但又不知道该怎样应用。只会使用系统提供的基本“对象”,却不会(或根本就不知道)设计或封装属于自己的“自定义对象”。仅仅会使用别人提供的工具干活,只是一个劳动者,并不能成为一个名副其实的“设计”者。
客观地说,“面向对象”的设计理念听起来容易做起来难。经常见到一些自认为“精通”面向对象理念的程序员却从来没有实现过“对象”的设计与封装,此间不乏带有一些啼笑皆非的意味。如果把面向对象的理念比作一个殿堂,很多徘徊在门口的人都自以为早已身居殿堂之中,其实这是一个误解。
编程的意义并不在于通过“代码(或简单的应用系统对象)”来描述需求,更主要的是要通过符合“设计理念”的方式,将原始需求转变成能够体现“设计思想”的“对象(最贴近于事物自身特性的设计单元)”并通过这种代表着需求内涵的“对象”来完成“设计”。
如果要判别是否真正理解了“面向对象”的开发理念,最简单、最直接的方式就是看他是否实现过“自定义对象”的封装,因为这是对面向对象理念的初衷与归宿。
开发环境为我们提供了设计、封装、引用各种“对象”的技术手段,如何在这个舞台上抽象、构造、设计、使用属于我们自己的各种应用“对象”,才是真正展示我们驾驭“面向对象”能力的具体体现。
不要以为“面向对象”就是那么深奥、那么难以理解,其实它就像一层“窗户纸”,只要你轻轻地“捅”一下,一切问题就会迎刃而解。关键是是否意识到了这层“窗户纸”的存在,并要伸出手指即可。相反,如果没有意识到它的存在,或不愿意为此有所付出,那也只能是在殿堂的门口“雾里看花”了。
序言
中国核工业集团公司秉承集团化、专业化的运作理念,积极推进科研院、所的成果迅速转化成主导产业的生产力,是集团公司持续发展的重要策略之一。核工业计算机应用研究所是集团中唯一的信息化产业单位,为了有效实现各企业的应用系统研发,构建“构件化软件开发平台”则是我们科研的重点课题。经过几年的潜心努力,我们取得了一些卓有成效的成果,现出版的《“面向对象”项目开发经验大成:基于.NET实现》则是该成果中的一部分。..
面对全国核工业迅速发展的形势,中核集团核工业计算机应用研究所在引进国外先进、成熟的信息技术产品的同时,针对核工业的特殊性不断地提升自己在关键技术上自主的能力。在企业应用层面如何推动信息技术应用的课题上勇于探索、大胆实践并取得了长足的进展。“构件化软件开发平台”是我们自行研制、具有自主知识产权的高效开发工具,特别便于迅速搭建符合于企业自身特点的信息管理系统。通过该平台所开发的各应用项目,能够与核燃料企业的生产、管理过程密切贴合,便于应用并有利于普及。该成果现已经推广到其他的能源行业,同样体现出良好的应用效果并得到用户的高度评价。该平台不仅为中核集团信息化工程、核燃料生产企业的应用提供了有力的支撑,同时也在实践的过程中得到完善与深化。
盈利是企业的宗旨。对于信息技术服务企业来说,能否实现技术复用与应用模式复用应当是实现盈利的关键所在。《“面向对象”项目开发经验大成:基于.NET实现》一书中为技术体系的建立、设计方案的有效复用、应用系统模型的有效复用的提供了思路和实现的具体方法。
读者可以本书来体会面向对象理念的具体实践,从而使软件架构设计不再神秘,面向对象不再抽象,软件开发不再是因人而异,软件工程管理不再是一团乱麻,软件明星与一般程序员在技术层面上有机融合,从而使整体团队的创造力更加协调、高效。
核工业计算机应用研究所长...
肖心民
2009-2-19