- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智慧即可Java学堂设计模式.
Java 设计模式学堂清单 第一讲:设计模式基本原则和创建型设计模式 第二讲:行为型设计模式 第三讲:结构型设计模式 优秀的程序员是80% 时间思考,20%时间编码 怎么想决定你怎么做 你同意吗 智慧极客Java学堂 Java设计模式第一讲 目录 什么是设计模式 有哪些设计模式 设计模式如何分类 这些设计模式都是怎么来的 设计模式第一类:创建类 什么是设计模式 请相信别人已经遇到你刚刚遇到的问题,别人已经解决了你亟待解决的问题 千百年来人类的思考方式的总结 让合适的人做合适的事情 社会分工的体现 软件开发领域的金科玉律 IOC DI AOP 解耦 适用于主流软件开发语音 软件巨人的吐血推荐 没有设计会撞死 有了设计没有模式会累死 有了设计模式不用是作死 帮助我们解脱苦海的思维方式 软件领域的通用的解决问题的思维方式可以解决这个领域大多数问题 设计模式:在长期工作中总结下来、处理常见业务场景的良好经验、改善软件开发领域思维方式的最佳实践、面向对象开发的建议和指导 设计模式光荣榜 简单工厂模式(Simple Factory); 工厂方法模式(Factory Method); 抽象工厂模式(Abstract Factory); 创建者模式(Builder); 原型模式(Prototype); 单例模式(Singleton) 2.结构型模式 外观模式(Facade); 适配器模式(Adapter); 代理模式(Proxy); 装饰模式(Decorator); 桥模式(Bridge); 组合模式(Composite); 享元模式(Flyweight)。 3.行为型模式 模板方法模式(Template Method); 观察者模式(Observer); 状态模式(State); 策略模式(Strategy); 职责链模式(Chain of Responsibility); 命令模式(Command); 访问者模式(Visitor); 调停者模式(Mediator); 备忘录模式(Memento); 迭代器模式(Iterator); 解释器模式(Interpreter) 世界上唯一不变的是什么 Change 设计模式怎么来的 设计模式的核心思想:隔离可变性,代码复用,新增的功能不用修改原来代码 因此衍生了许多开发原则,根据这些原则有产生了很多设计模式 The Open-Closed Principle (OCP) - 开闭原则 - 对扩展开放(open) 通过扩展的接口实现修改,在不修改源代码的情况扩展 - 对修改关闭(closed) 这也是系统设计需要遵循开闭原则的原因: 1)稳定性。开闭原则要求扩展功能不修改原来的代码,这可以让软件系统在变化中保持稳定。 2)扩展性。开闭原则要求对扩展开放,通过扩展提供新的或改变原有的功能,让软件系统具有灵活的可扩展性。 遵循开闭原则的系统设计,可以让软件系统可复用,并且易于维护。 DIP依赖倒置原则 Spring IOC的核心思想 颠覆思维方式 提高解耦力度 具体实现方式: A. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象 B. 抽象不应该依赖于细节,细节应该依赖于抽象 Single Responsibility Principle (SRP) - 单一职责原则 只能让一个类有且仅有一个职责。这也是单一职责原则的命名含义。 组合由于继承原则 多用组合,少用继承 提高系统弹性 一段小插曲 鸭子的故事 创建型设计模式 简单工厂模式(Simple Factory); 工厂方法模式(Factory Method); 抽象工厂模式(Abstract Factory); 创建者模式(Builder); 原型模式(Prototype); 单例模式(Singleton) 简单工厂、工厂方法与抽象工厂 1 简单工厂 ==静态工厂,通过静态工厂方法构建对象, 2 工厂方法 通过工厂方法下放,以对修改关闭 3 抽象工厂 Builder 模式 Prototype模式 Singleton模式 抛砖引玉”Java 多线程开发“ 为什么需要多线程开发 比较:Runable 与Thread 接口 CacheThreadPool vs ForkjoinThreadPool Java多线程适合:计算密集型和IO密集型 为什么 新世纪的挑战 多核的挑战 技术的挑战 多线程线程数量选择 计算密集型业务 thread 数量 =Core IO密集型业务 thread 数量=n*Core 取决操作系统和内存限制 多线程开发步骤 1 工作切分 2 并发控制 Thanks * *
文档评论(0)