(P7)

建议直接加入到软件公司中去,这样会学到很多实际的东西;

程序员最主要的发展方向是资深技术专家,无论是 Java、.Net 还是数据库领域,都要首先成为专家,然后才可能继续发展为架构师;

增强工作的主动性和参与性;

只有拥有更高的眼界,才能谋取更大的发展;

(P10)

跳槽是需要本钱的,这个本钱就是你积累的工作经验、工作业绩、技术水平和工作能力;

(P11)

一个好的领域专家一定是业务领域的架构师,他能够给出某一个业务领域的架构,我们可以称为业务架构,只有技术架构和业务架构紧密结合,才有可能真正创造出一个好的系统;

(P16)

系统应该随着规模的变化,不断演进。这样的系统才是科学的、经济的;

(P22)

在设计模式中,所有的设计模式都遵循“单一职责原则”这一原则;

(P23)

“单一职责”也就是“单一变化原因”;

“职责”也就是引起类变化的原因;

(P28)

抽象层次应该不依赖于具体的实现细节,这样才能保证系统的可复用性和可维护性;

抽象即“抽象类”或“接口”,两者是不能够实例化的;

如果没有实现“依赖注入原则”,那么也就意味着“开闭原则(对扩展开放,对修改关闭)”也无法实现;

(P41)

资深的程序员都会看重数据结构和算法作用,水平越高,就越能理解算法的重要性;

(P49)

设计模式使代码编制能真正地工程化,它是软件工程的基石;

(P57)

“简单工厂”的方法通常都是静态的,所以也被称为“静态工厂”;

一个“简单工厂”,理论上可以构造任何东西,所以又被称为“万能工厂”;

在“简单工厂”里面可以只有一个方法,也可以有很多这样创建的方法;

(P58)

“接口”就是“实现类”对外的外观;

“接口”是系统可插拔性的保证;

(P67)

“工厂方法模式”是类的创建模式,又叫虚拟构造器(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式;

(P68)

在“工厂方法模式”中一般都有一个平行的等级结构,也就是说,工厂和产品是对应的。抽象工厂对应抽象产品,具体工厂对应具体产品;

(P110)

单例模式的本质是控制实例数目;

(P116)

在“建造者模式”里,有个指导者,由指导者来管理建造者,用户是与指导者相互联系,指导者联系建造者,最后得到产品;

(P142)

建议不要混合使用深拷贝和浅拷贝,特别是涉及到类的继承,父类有多个引用的情况就非常的复杂,建议的方案是深拷贝和浅拷贝分开实现;

(P162)

在适配器模式中,实现了由“源”到“目标”的适配,适配器负责把“源”过渡到“目标”;

(P174)

将两个角色之间的继承关系改为聚合关系,就是将它们之间的强关联改换为弱关联;

(P185)

在桥梁模式中的桥接是单向的,也就是只能是抽象部分的对象去使用具体实现部分的对象,而不能反过来;

(P194)

从更本质的角度来看,基本上只要是面向抽象编写的 Java 程序,都可以视为是桥梁模式的应用,都是让抽象和实现相分离,从而使它们能独立地变化;

(P254)

享元模式是一个提高程序效率和性能的模式,会大大地加快程序的运行速度;

(P262)

享元模式是一种缓存技术;

(P460)

状态模式的引入免除了代码中复杂而冗长的逻辑判断语句;

《修炼Java开发技术 在架构中体验设计模式和算法之美》 - 书摘精要的更多相关文章

  1. 【EatBook】-NO.2.EatBook.2.JavaArchitecture.1.001-《修炼Java开发技术在架构中体验设计模式和算法之美》-

    1.0.0 Summary Tittle:[EatBook]-NO.2.EatBook.2.JavaArchitecture.1.001-<修炼Java开发技术在架构中体验设计模式和算法之美&g ...

  2. 测试开发技术:DOM中 innerHTML、innerText、outerHTML、outerText的区别

    测试开发技术:DOM中 innerHTML.innerText.outerHTML.outerText的区别   我们在做web自动化的过程中通过dom处理web页面元素,那么你就要了解innerHT ...

  3. Java基础语法(8)-数组中的常见排序算法

    title: Java基础语法(8)-数组中的常见排序算法 blog: CSDN data: Java学习路线及视频 1.基本概念 排序: 是计算机程序设计中的一项重要操作,其功能是指一个数据元素集合 ...

  4. Java开发技术大揭底——让你认知自己技术上的缺陷,成为架构师

    一.分布式架构体系 分布式怎么来的.传统的电信.银行业,当业务量大了之后,普通服务器CPU/IO/网络到了100%,请求太慢怎么办?最直接的做法,升级硬件,反正也不缺钱,IBM小型机,大型机,采购了堆 ...

  5. 2020 年最流行的 Java 开发技术

    不知不觉间,2020 年即将于十几天之后到来,作为技术圈中你,准备好迎接最新的变化了吗?在本文中,我们将以编程界最常用的编程语言 Java 为例,分享最为主流的技术与工具. 作者 | divyesh. ...

  6. 手机端UC浏览器,在java开发的下载功能中存在的问题?

    在java web开发中,不同浏览器对下载文件的格式有不同的要求,有时会出现视频,音频等文件无法下载的问题.我在开发中,也遇到类似的问题,觉得很苦恼. 经过百度和请教学习,得到2个解决方案. 首先得到 ...

  7. 个人总结的一个中高级Java开发工程师或架构师需要掌握哪几点!

    今天,我来唠叨几句~~ 知识改变命运,对于Java程序员来说,技术不断更新,只有及时充电,才能不被市场淘汰.今天为大家分享Java程序员学习的6个小技巧. 1.一定要看书 现在学习Java变得比以前容 ...

  8. Java开发技术

    1.基础技术 数据结构与算法   逻辑结构:数据对象中的数据元素之间的逻辑关系 1.集合结构:集合结构中的数据元素除了同属一个集合外,没有其他关系. 2.线性结构:线性结构中的数据元素之间是一对一的关 ...

  9. 【饿了么】招聘Java开发工程师、架构师

    3年以上实际工作经验,本科及以上学历. 具有良好的编程基础( 比如熟悉HTTP.多线程.Socket.JVM.基本的数据结构和算法等). 熟悉Java语言以及相关的服务器(比如Tomcat).工具(M ...

随机推荐

  1. kotlin-plugin-1.1.2-release-Studio2.3-1.zip 下载地址

    1 官方下载地址,下载较慢,我家100m联通光纤,下载也就120k左右 http://jetbrains-plugins.s3.amazonaws.com/6954/34562/kotlin-plug ...

  2. 调色盘canvas

    //调色盘 function draw8(id){ var canvas = document.getElementById(id); var context = canvas.getContext( ...

  3. Node.js API学习笔记(一)

    此文章已经发表于本人博客. Terminal(终端) 说起这个使用过linux系统的兄台一般都会知道的,本人理解:类似Putty这些ssh工具通过 软件来实现远程控制主机,对于我们使用者来说,它会显示 ...

  4. 20包含min函数的栈

      题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数.   建一个辅助栈,把每次最小最小的元素(之前最小元素,与当前新入栈的元素比较)放在辅助栈里.   import j ...

  5. 大数据生态,哪些框架需要全部启动,哪些只启动master,仅为汇总

    主从,只需要在master节点启动 hadoop hbase 单机启动 hive 其他,需要启动每个节点 zookeeper kafka flume presto

  6. linux 基础知识总结2

    1. 设定文件text的属性为:文件属主(u) 增加写权限;与文件属主同组用户(g) 增加写权限;其他用户(o) 删除执行权限:chmod ug+w,o-x log2012.log     权限选择参 ...

  7. Django- 反向生成url

    Django中提供了一个关于URL的映射的解决方案, 1.客户端的浏览器发起一个url请求,Django根据URL解析,把url中的参数捕获,调用相应的试图,获取相应的数据,然后返回给客户端显示 2. ...

  8. Python多类继承中,子类默认继承哪个父类的构造函数__init__

    [1]python中如果子类有自己的构造函数,不会自动调用父类的构造函数,如果需要用到父类的构造函数,则需要在子类的构造函数中显式的调用. [2]如果子类没有自己的构造函数,则会直接从父类继承构造函数 ...

  9. Hadoop:eclipse配置hadoop-eclipse-plugin(版本hadoop2.7.3)

    配置hadoop-eclipse-plugin(版本hadoop2.7.3): 1:首先下载我们需要的  hadoop-eclipse-plugin-2.7.3.jar,winutils.exe 和 ...

  10. 联合体union

    1.一般而言,共用体类型实际占用存储空间为其最长的成员所占的存储空间: //4*7==282.若是该最长的存储空间对其他成员的元类型(如果是数组,取其类型的数据长度,例int a[5]为4)不满足整除 ...