第三章 OO之美

  今天是周六, 本来说来加班的,但是经理还没有到,所以趁着这点时间,看看书吧。时间,能抓住一点,绝不放过一点。希望在不久的将来,我的技术水平能有一个大的进步,寻求进步是我的最希望得到的快乐。你,还在等什么?

  这一章,看了目录,应该不是一些基础知识了,挑起了设计与架构的问题。我本人对这样的话题还是比较感兴趣的。

笔记

  1、对于设计来说,或许永远没有唯一的答案,你只能无限的接近最好。

  2、设计原则是设计的灵魂,而设计模式是系统开发的模板。这些面向对象的思想和应用来自于实践,完善于重构。

  3、在设计的广义概念里,几个必需的概念需要了解:面型对象,面向服务(WCF),框架(基础架构),设计原则(五大原则),设计模式(23个,可以挑重点学习,深入掌握--Abstract Factory,Iterator,Singleton,Adapter,Decorator,Observer,Facade,Template,Command),模式之外(除了基本的23种,还有一些其他的模式)

  4、再设计领域,你不必为看似高深的框架吓到,也不必为没有经验而怯场,在编程生涯中,你随时都可以成为一个架构者,关键是,你该随时让自己保持一个不懈怠的心,如何将所谓的MVC或者模式还有原则优雅而高效的应用到软件系统中,是一种功力和经验的经验的体现。但是凡事都要有基础,有了基本功之后再看着唱本骑驴走远吧。

  5、耦合的产生:·继承  ·聚合  ·接口  ·方法调用和引用  ·服务调用

  6、设计的目标:高内聚,低耦合;面向抽象编程;封装变化;实现重用:代码重用,算法重用

  7、手段和思想:封装变化,面向接口、抽象、服务编程

  8、就原理而言,依赖倒置要求设计:少继承多聚合,单项依赖,封装抽象,对依赖对象都应该终止于抽象类和接口。

  9、Bob大叔的三点总结:(实际编程中很难完全达到)

    (1)任何变量都不应该有一个指向具体类的指针或者引用。

    (2)任何类都不应该从具体类继承。

    (3)任何方法都应该覆写它的任何基类中已经实现的方法。

  10、

时间: 2024-10-10 21:06:54

第三章 OO之美的相关文章

《你必须知道的.NET》读书笔记三:体验OO之美

一.依赖也是哲学 (1)本质诠释:"不要调用我们,我们会调用你" (2)依赖和耦合: ①无依赖,无耦合: ②单向依赖,耦合度不高: ③双向依赖,耦合度较高: (3)设计的目标:高内聚,低耦合. ①低耦合:实现最简单的依赖关系,尽可能地减少类与类.模块与模块.层次与层次.系统与系统之间的联系: ②高内聚:一方面代表了职责的统一管理,一方面又代表了关系的有效隔离: (4)控制反转(IoC):代码的控制器交由系统控制而不是在代码内部,消除组件或模块间的直接依赖: (5)依赖注入(DI): ①

杨森翔:春节文化大观上编 第三章 春节古诗词 目录 第一节:春节诗词概述 一、 除夕诗词概述 二、元日诗词概述 三、 元宵诗词概述 第二节:春节古诗词拾萃

杨森翔:春节文化大观上编 第三章 春节古诗词 目录 第一节:春节诗词概述 一. 除夕诗词概述 二.元日诗词概述 三. 元宵诗词概述 第二节:春节古诗词拾萃 一.腊祭诗词 二.祭灶诗词 三.除夕诗词 四.元旦诗词 五.人日诗词 六.元宵诗词 第一节:春节古诗词概述 中国的春节,作为除旧迎新的节日,时间相当长,从年前的腊月二十三,天空中就似乎弥漫了节日的气息.这种节日的气氛,在保持传统风俗较好的地方,甚至会持续到二月二龙抬头的时候,但欢度春节的高潮,应该说是自除夕始一直到上元之夜.因此,历代歌咏和反

读大道至简第三章有感

第三章的标题是 团队缺乏的不只是管理,作者以”言三人为众,虽难尽继,取其功尤高者一人继之於名为众矣.“这段<汉书>中的话来引出了团队的概念. 第一节的标题是三个人的团队,”言三人为众“团队至少是以三个人为规模的,如此便具备了团队的基本特性:主从.监督和责任.”取其功尤高者一人继之,於名为众“就是功高者代替群体受功,其意思就是功劳大的.能力强的便成了团队中的领导角色.做管理不仅要功劳大,做管理最基本的素质是要能承担责任.当项目失败后,要有乘受去.相应责任的能力. 第二节标题为”做项目=死亡游戏?

《Linux命令行与shell脚本编程大全》 第三章 学习笔记

第三章:基本的bash shell命令 bash程序使用命令行参数来修改所启动shell的类型 参数 描述 -c string 从string中读取命令并处理他们 -r 启动限制性shell,限制用户在默认目录下活动 -i 启动交互性shell,允许用户输入 -s 从标准输入读取命令 环境变量PS1.PS2 PS1:控制默认命令行提示符格式 PS2:控制后续命令行提示符格式   bash shell提示符字符串中使用的特殊字符 字符 描述 \a 报警字符 \d “日 月 年”格式显示的日期 \e

当代码遇到数理逻辑——面向对象设计与构造第三章总结

在面向对象课程中的第三章,我尝试了基于JML语言的规格化设计,按照AppRunner中的接口文件实现了Path类和PathContainer, Graph, RailWaySystem迭代类.JML语言是一种规格化语言,完全建立于数理逻辑上,既能够为开发者实现类与方法时提供准确的功能参考,也能够在特定工具支持下充当assert的功能和辅助自动生成测试样例. 本篇博客将从以下几方面对第三章进行总结: JML的基本语法与工具链 基于JmlUnitNg的自动测试方法尝试 三次作业架构 程序Bug分析

构建之法前三章读后感

一. 软件作为一个产品,在提供用户使用前经历了许多工序,我们用工程的方式将开发软件的工序,过程加以工程化,系统化.成立了一套完整的体系后,有利于帮助我们开发软件,乃至于大型的系统. 软件具有一定的特殊性,使得软件工程师们做开发提升了一定的难度,但软件工程有助于软件系统的开发,帮助工程师们设计,构建,测试和维护软件.所以,软件工程的最终目的是帮助工程师们创造“足够好”的软件,提高软件的质量,用户满意度,可靠性,可维护性等. 第一章问题:怎么才算是一个真正的软件工程师? 二.   一个优秀的软件,通

0320 《构建之法》前三章观后感

第一章.为我们解释什么是软件,什么是软件工程,读完这章对这些概念有一定的认识这章让我明白,代码不能盲目的敲,好的软件并非两三天,并非一两个人就能赶出来的,需要大家的精诚合作.同时,在编写程序之前,还需要做一系列的分析.设计,要满足客户的需求,后续还要对软件进行测试.维护等.在这之前,我一直觉得能把程序运行,能有正确的结果,那就完成任务了,可这只是整个软件流程的一部分而已.看了邹老师的书,才知道其实创新有很多的方面,除了技术,还有商业思路,差异化等等,这些都给了我很大的感触,作为一名程序员,我们不

家庭作业——第三章

第三章家庭作业    3.69和3.70 3.69 A:long trace(tree_ptr tp)    {        long ret = 0;        while(tp != NULL)        {           ret = tp->val;           tp = tp->left;        }        return ret;    } B:作用是从根一直遍历左子树,找到第一个没有左子树的节点的值. 3.70 A:long traverse(t

第三章 Linux操作系统的安装

第三章 Linux操作系统的安装 因为笔者一直都是使用CentOS,所以这次安装系统也是基于CentOS的安装.把光盘插入光驱,设置bios光驱启动.进入光盘的欢迎界面. 其中有两个选项,可以直接按回车,也可以在当前界面下输入 linux text 按回车.前者是图形下安装,可以动鼠标的,后者是纯文字形式的.建议初学者用前者安装.直接回车后,出现一下界面: 这一步是要提示你是否要校验光盘,目的是看看光盘中的安装包是否完整或者是否被人改动过,一般情况下,如果是正规的光盘不需要做这一步操作,因为太费