(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. 010-JDK可视化监控工具-VisualVM

    一.概述 VisualVM是一个集成多个JDK命令行工具的可视化工具.VisualVM基于NetBeans平台开发,它具备了插件扩展功能的特性,通过插件的扩展,可用于显示虚拟机进程及进程的配置和环境信 ...

  2. 009-JDK可视化监控工具-JConsole

    Console工具在JDK/bin目录下,启动JConsole后,将自动搜索本机运行的jvm进程,不需要jps命令来查询指定.双击其中一个jvm进程即可开始监控,也可使用“远程进程”来连接远程服务器. ...

  3. Centos7管理selinux及使用firewalld管理防火墙

    CentOS 7.0默认使用的是firewall作为防火墙 1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status ...

  4. c++中的构造函数初始化列表

    三种情况下,必须在构造函数初始化列表中初始化成员: 1.const成员 2.引用成员 3.没有默认构造函数的成员

  5. http的请求流程

    # !/usr/bin/env python # coding:utf-8 import socket def handle_request(client): buf = client.recv(10 ...

  6. [笔记]使用Go语言Redigo包在Docker容器内连接Redis容器的方法

    Docker容器之间的连接可以带来不少方便,下面记录下如何在自己容器内通过环境变量连接与之连接的Redis容器的方法. 先起一个Redis的Docker容器,命名为 redis,再起一个自己的Dock ...

  7. PHP HTML DOM 解析器 中文手册

    简单的PHP HTML DOM 解析器 中文手册 | PHP Simple HTML DOM Parser中文手册 目录 快速入门 如何创建HTML DOM 对象? 如何查找HTML元素? 如何访问H ...

  8. 关于 ActionBar、ToolBar、StatusBar 的开发经验整理

    一.ActionBar.ToolBar概述 1.1 ActionBar 1.2 ToolBar 1.3 StatusBar StatusBar 是一个半透明阴影,View 可以伸展到其后面. 1.4 ...

  9. Linux中top和free命令(6/15)

    top:命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表. 该命令可以按CPU使用.内存使用和执行时间对任务进行排序: 而且该命令的很多特性都可以通过交互式命令或者在个 ...

  10. Http请求的TCP连接

    我们一直认为,HTTP连接分为长连接和短连接,而我们现在常用的都是HTTP1.1,因此我们用的都是长连接. 这句话其实只对了一半,我们现如今的HTTP协议,大部分都是1.1的,因此我们平时用的基本上都 ...