(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. spawn 和 exec 的区别(转载)

    众所周知,Node.js在child_process模块中提供了spawn和exec这两个方法,用来开启子进程执行指定程序.这两个方法虽然目的一样,但是既然Node.js为我们提供了两个方法,那它们之 ...

  2. matplotlib作图——plot() 线图

    线图 #定义 matplotlib.pyplot.plot() plot([x], y, [fmt], data=None, **kwargs) plot([x], y, [fmt], [x2], y ...

  3. 经典iOS第三方库源码分析 - YYModel

    YYModel介绍 YYModel是一个针对iOS/OSX平台的高性能的Model解析库,是属于YYKit的一个组件,创建是ibireme. 其实在YYModel出现之前,已经有非常多的Model解析 ...

  4. redis 笔记04 服务器、复制

    服务器 1. 一个命令请求从发送到完成主要包括以下步骤: 1). 客户端将命令请求发送给服务器 2). 服务器读取命令请求,并分析出命令参数 3). 命令执行器根据参数查找命令的实现函数,然后执行实现 ...

  5. ThreadLocal管理登录信息

    通常在项目中,用户登录后,我们会将用户的信息存到session,如果想在其它地方获取session中的用户信息,我们需要先获取HttpServletRequest,再通过request.getSess ...

  6. Python3:文件读写

    Python3:文件读写 open f = open('filename','r') # 读模式 f = open('filename','w') # 写模式 f = open('filename', ...

  7. React Native常用组件之ListView组件

    学习iOS开发的同学应该都知道UITableView,几乎每个APP中都有它的存在,而且衍生出各种形态:那么同样,ListView就是在React Native中的tableView,而且更加简单和灵 ...

  8. Rreact Native 常见错误总结

    1.invariant violation:expected a component class,got[object object]        创建自定义组件首字母要大写,否则会报错.     ...

  9. GRE/GMAT/LSAT长难句300例精讲精练-思维导图

    <GRE/GMAT/LSAT长难句300例精讲精练>是GRE超人气名师陈琦老师团队的又一本新作,也是“再要你命3000”的新成员,从之前的词汇.短语.练习,提升到长难句层面,相信学完本书后 ...

  10. Curator的监听机制

    原生的zookeeper的监听API所实现的方法存在一些缺点,对于开发者来说后续的开发会考虑的细节比较多. Curator所实现的方法希望摒弃原声API 的不足,是开发看起来更加的简单,一些重连等操作 ...