使用maven编译打包用javac还是eclipse的jdt的问题 最近把一个旧项目改为maven项目,发现一个问题,旧项目用eclipse打包编译没问题,但是改为maven项目使用maven打包就会出现一堆错误百度了一下发现maven使用的是javac编译相比较于eclipse的jdt要严格许多但是旧项目以前代码写的不规范,很多那种泛型强转的问题如果要一个一个改工作量太大于是只能采取配置pom的编译插件为eclipse的jdt来编译 这样就没问题了 因...
设计模式之组合模式与迭代器模式 读书笔记:headfirst 设计模式 ,大话设计模式迭代器模式使用场景当需要访问一个聚集对象,而且不管这些对象是什么都需要遍历时单一责任原则单一责任 : 一个类应该只有一个引起变化的原因内聚 :用来度量一个类或模块紧密的达到单一目的或责任一个模块或一个类被设计只支持一组相关功能,称为高内聚反之当被设计成支持一组不相关的功能时,称为低内聚类图迭代器模式:提供一种方法...
设计模式之状态模式 读书笔记:headfirst 设计模式 ,大话设计模式,相关技术博客等代码案例用一个大家都熟悉的网购订单状态(简化版)来解释状态模式首先不使用状态模式时的代码// 测试类public class SimpleStateTest { public static void main(String[] args) { Buyer buyer = new Buyer...
使用redis共享session无法保存对象的问题 由于生产环境多台服务器需要使用redis共享session ,但是发现字符串 比如sessionid可以共享,但是保存的对象信息在redis却没有共享,最后排查发现相关对象没有实现序列化接口,是因为由于依赖redis需要序列化后才能存储相关对象实现序列化接口后问题解决此问题由于在本地和测试环境是单台服务器环境所以无法测试到,只有生产集群环境才会出现...
设计模式之观察者模式 读书笔记:headfirst 设计模式 ,大话设计模式,相关技术博客等观察者模式概念:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并且自动更新观察者模式又称发布/订阅(publish/subscribe)模式观察者模式定义了对象之间的一对多关系主题(可观察者)用一个共同的接口来更新观察者观察者和可观察者之间用松耦合方式结合,双方不知道对方...
设计模式之外观模式与适配器模式 读书笔记:headfirst 设计模式 ,大话设计模式 ,及http://www.cnblogs.com/V1haoge博客适配器模式现实中的适配器以前的手机USB数据线连接手机大多是老式的梯形microUSB接口,而现在连接大多数手机都采用了速度更快typeC椭圆形接口,以前的旧数据线还想继续使用怎么办呢?配一个microUSB转typeC的转接头就可以解决问题,这个转接头...
设计模式之模板方法模式 读书笔记:headfirst 设计模式 ,大话设计模式模板方法模式模板方法模式就是提供了一个很好的代码复用平台模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现.模板方法模式是通过把不变的行为搬移到超类,去除子类中的重复代码来提现它的优势概念:定义一个操作中的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构既可重定义该算法的某些特定步骤....
设计模式之工厂模式 读书笔记:headfirst 设计模式 ,大话设计模式简单工厂简单工厂并不是一个设计模式,比较像一种编程习惯.概念:将实例化具体类的代码抽离封装起来,使它们不会干扰应用的其他部分(松耦合),工厂类中,根据条件决定一个接口由哪个具体类来实现代码案例制造戴尔鼠标的工厂,增加需求对惠普、华硕鼠标制造的支持(简单工厂,工厂方法),增加需求对这三个厂商键盘的制造支持(抽象工厂)public...
设计模式之代理模式 读书笔记:headfirst 设计模式 ,大话设计模式代理模式概念代理模式:为其他对象提供一种代理以控制对这个对象的访问代理模式式结构图结构代码public interface Subject { void request();}public class RealSubject implements Subject{ @Overr...
关于springboot 打war包 部署tomcat 无法启动报错的问题 springboot 默认是通常是打包成jar的,里面会内置一个tomcat容器 有时候我们需要使用以前打成war包的方式部署到对应的tomcat中, 具体springboot 怎么从jar改成war的打包方式我就不细说了,百度一大把基本就是pom加一个spring-boot-starter-tomcat 的dependency scope为providedpackaging由jar改...
设计模式之装饰者模式 读书笔记:headfirst 设计模式 ,大话设计模式装饰者模式概念装饰者模式:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活 装饰模式结构图装饰模式结构代码// 顶层组件抽象public abstract class Component { public abstract void operation()...
单一原则,开放-封闭原则,依赖反转,里氏族替换原则 读书笔记:大话设计模式单一职责原则单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因例子一个俄罗斯方块游戏设计思路其中游戏业务逻辑:数据的每一项值变化的问题,下落,旋转,碰撞判断,移动,堆积这些都是再做数据具体项的值的变化其中界面表示逻辑:根据数据进行绘出,擦除,根据键盘命令调用具体改变数据值的方法等假设:如果把游戏业务逻...
设计模式之策略模式 读书笔记:参考 Head First 设计模式,大话设计模式设计模式要点知道OO基础,并不足以设计出良好的OO系统良好的OO设计必须具备可以复用,可扩充,可维护三个特征模式可以让我们建造出具有良好OO设计质量的系统设计模式被认为是经验验证的OO设计经验模式不是代码,而是真实设计问题的通用解决方案模式不是被发明而是被发现大多数的模式和原则,都着眼于软件变化的主题大多数...