java高级知识
w_y8711
技术菜鸟,努力ing
展开
-
设计模式原则
设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 设计模式的六大原则:原则解释单一原则 (...转载 2018-06-12 10:10:23 · 121 阅读 · 0 评论 -
代理模式
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。介绍意图:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程...转载 2018-06-11 09:21:46 · 109 阅读 · 0 评论 -
人人都是架构师:非功能性需求
需求是最重要的事情,失去了功能,失去了客户的价值,软件将一无是处。 然而,功能的实现只是架构的开端。架构首先来自需求,需求驱动架构,然后非功能性需求反映服务等级,面对客观环境的约束,自行引入的架构实现原则,是在高层次以上对需求、约束、和原则的理解和把握。非功能性需求也可以称为质量属性,我所了解的非功能性需求主要有:性能:响应时间或延迟可伸缩性:更多用户,请求和数据的处理能力可用性:99.9%意味着...转载 2018-06-12 10:10:33 · 1060 阅读 · 0 评论 -
UML之包图(Package Diagram)
软件的架构设计,思路遵循由大及小。相较于Class Diagram,Package Diagram从更宏观的角度来展示软件的架构设计,主要体现在代码组织方面。Package Diagram对一些大型的项目特别有用。顺便说一句,良好的代码组织,对软件的可维护性至关重要,请认真的规划你的包结构。下文将简单介绍Package Diagram,主要分两块,什么是Package,以及Package之间的关系...转载 2018-06-11 09:22:12 · 26389 阅读 · 7 评论 -
模板方法模式
目录1. 介绍1.1 定义定义一个模板结构,将具体内容延迟到子类去实现。1.2 主要作用在不改变模板结构的前提下在子类中重新定义模板中的内容。模板方法模式是基于”继承“的;1.3 解决的问题提高代码复用性 将相同部分的代码放在抽象的父类中,而将不同的代码放入不同的子类中实现了反向控制 通过一个父类调用其子类的操作,通过对子类的具体实现扩展不同的行为,实现了反向控制 & 符合“开闭原则”2....转载 2018-06-12 10:10:42 · 265 阅读 · 0 评论 -
如何选择开源许可证?(转)
如何为代码选择开源许可证,这是一个问题。世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPL、BSD、MIT、Mozilla、Apache和LGPL----之中做选择,也很复杂。乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择。这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。下面是我制作的中文版,请点击看...转载 2018-06-19 09:19:03 · 405 阅读 · 0 评论 -
重构 改善既有代码的设计(二)
第三章 代码的坏味道分析什么时间需要重构从我们经验来看,没有任何度量规矩比得上一个见识广博者的直觉。Duplicated Code (重复代码)Long Method(过长函数)Large Class(过大的类)Long Parameter List (过长参数列)Divergent Change(发散式变化)Shotgun Surgery (散弹式修改)Feature Envy (依恋情结)Da...转载 2018-06-20 09:15:24 · 197 阅读 · 0 评论 -
架构设计中的基本原则
1、单一职责原则(Single Responsibility Principle)单一职责原则的优点有:可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;提高类的可读性,提高系统的可维护性;变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。2、依赖倒转原则(Dependence Inversion Pri...转载 2018-07-18 20:05:34 · 1411 阅读 · 0 评论