![](https://img-blog.csdnimg.cn/20191011141310177.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
砂锅大的拳头
这个作者很懒,什么都没留下…
展开
-
根据2个经纬度点,计算这2个经纬度点之间的距离(通过经度纬度得到距离)
如下一个半径为1 的圆,O是圆心,A、B是弦(chord)。角度AOB=theta。则角度AOC=theta/2。OC是垂直于AB的垂线(perpendicular)。AC长度是sin(theta/2),AB长度是2sin(theta/2)如下地球图所示,假设半径R为1,O是球心,A (lat1,lon1) 和 B (lat2,lon2) 是我们感兴趣的2个点。2跟经度线 lon1,lon2相...原创 2020-02-25 18:23:56 · 427 阅读 · 0 评论 -
建造者模式(Builder Pattern)
当一个类的内部数据过于复杂的时候(通常是负责持有数据的类,比如Config、VO、PO、Entity…),要创建的话可能就需要了解这个类的内部结构,还有这些东西是怎么组织装配等一大坨乱七八糟的东西,这个时候就会增加学习成本而且会很混乱,这个时候就想啊想一种什么法子来管理一下这个类中的数据呢,怎么在创建的时候让它按部就班的来,并且代码可读性很好别让我看花了眼啊,我要的东西也能都很好设置进来,这就是B...原创 2020-01-03 10:04:25 · 195 阅读 · 0 评论 -
工厂模式
要有一个抽象的产品角色;其次一个产品工厂;最后个个产品;简单工厂模式案例(如动物中的猫狗)//抽象的动物类,共有属性吃package cn.itcast_01;public abstract class Animal { public abstract void eat();}//动物工厂,来生产动物package cn.itcast_01;public class ...原创 2019-10-09 20:20:02 · 126 阅读 · 0 评论 -
单例设计模式
懒汉模式public class SingleDemo { private static SingleDemo demo; private SingleDemo(){} public static synchronized SingleDemo getDemo(){ if (demo!=null){ return demo; ...原创 2019-10-09 19:57:55 · 54 阅读 · 0 评论