设计模式
文章平均质量分 80
走出去拍拍照
这个作者很懒,什么都没留下…
展开
-
设计模式之工厂模式
对于简单工厂模式来说,我们可以看到在工厂类中,有大量的if判断。当我们要引入新的图形的时候,由于静态工厂方法通过所传入参数的不同来创建不同的图形,那么就需要修改工厂类的源代码了,这个将违反六大原则中的“开闭原则”,我们需要做的是在增加新图形的时候不修改已有的代码。这里就需要进一步分离。 在后面的设计中,我们不再提供一个统一的工厂类来创建所有的产品对象,而是针对不同的图形提供不同的工厂,系统提供原创 2018-01-30 21:58:01 · 211 阅读 · 0 评论 -
设计模式之抽象工厂
对于工厂模式来说,它只是针对一个维度其生产,也就是大部分博客说的针对产品等级。如果放在前面的例子里,也就是我们只是针对把些图形的比较大致的分法,三角形、正方形、圆形,但是如果细分,三角形还有等腰三角形、直角三角形。如果按这个套路,那么我们的分类就是一个二维的了,对于工厂模式来说,这个样子下去,我们得写好多好多的类,这个就要增加系统的复杂度了,所以,这个时候我们就想到了一种工厂模式的升级版——抽象工原创 2018-01-30 22:02:28 · 143 阅读 · 0 评论 -
设计模式之单例模式
什么是单例模式? 在我们生活中,有很多对象是只能存在的一个的,比如,世界上只有一个太阳,一个国家只能有一个正的主席(总统),一个公司只有一个正的董事长、CEO。这些都是单例模式在我们生活中的体现。单例模式让我们的这个对从头到尾都是同一个,保证了属性不变,这样可以节约资源,不用花费多余的空间去新建对象。单例模式的特性 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须原创 2018-01-18 21:34:08 · 158 阅读 · 0 评论 -
设计模式之代理模式
什么是代理模式?有一天,你的妹子需要一个包,为了哄妹子开心,你决定给她买个好一点的包,但是大家都知道,国内的都那么贵,那就去国外或者香港买。最近你又特别忙,没有时间出去,这个时候某个同事有刚好要出去,那你就让他帮忙喽。那么,这整个过程就是一个代理模式了!这个里面,同事就是代理对象,你就是真实对象,买包就是公共的方法了,为了更好的实现分离,我们还会定义一个接口,定义公共的方法,以减小程序的耦...原创 2018-01-18 21:48:02 · 139 阅读 · 0 评论 -
设计模式之简单工厂模式
当我们在生产汽车的时候,就算是一个品牌也会分为不同的型号,每个车的外形可能不一样,但是汽车的零件大部分是可以通用的。如果我们为每个型号的汽车都去建立但是建立一个生产线,每个零件都在那个独立的生产线去生产,这将会造成很大的浪费,会增加很多成本。我们知道现在社会之所以发展得这么快,是因为社会有明确的分工。所以在上述生产车辆的例子中,我们可以将通用的零件放在同一生产线生产,这样可以大大的降低成本。所谓的原创 2018-01-18 21:52:04 · 2080 阅读 · 0 评论