摘要:
https://blog.csdn.net/qq_42606051/article/details/81868496 阅读全文
摘要:
定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类 。我的理解是:1.有多产品(需要生产创建)2.多工厂(每个工厂都创建所有的产品)3.在工厂接口包含所有的产品创建 优点:1.调用的时候只需要初始化一次,就可以完全工厂的切换。增加新的工厂也符合开放封闭-封闭原则 2.创建实例的 阅读全文
摘要:
厂方法:定义一个用于创建对象的接口,让子类来决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 缺点:需要客户端决定实现哪一个类,选择判断的问题还是一样存在,跟简单工厂一样,只是更改的地方不一样,简单工厂更改的是工厂类,工厂方法修改的是调用客户端。 案例分析:还是以上一篇的计算机为案例吧 按 阅读全文
摘要:
简单工厂几乎都算不上是设计模式,同时也不符合开放-封闭的面向对象原则,每次的修改都要更改工厂类,但是同时也是平时中用的最多的一种设计模式,比如数据访问层设计多数据库访问。 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品 阅读全文
摘要:
使用场景和原则: 当系统的数据和行为都正确,但接口不符合时,我们应该考虑用适配器。适配器主要应用于希望复用现存的类,但是接口又与复用环境要求的不一致。就是说,两个类所做的事相同或者相似,但是具有不同的接口,这也是一种迫于无奈,双发都不太容易修 改的时候。一般情况下,尽可能的前期不考虑适配器,当然了, 阅读全文
摘要:
单例模式在现实开发中几乎无所不在,数据库建立连接,iOC创建对象,winfrom创建窗口,读取配置文件等等。 单例模式应用的场景一般发现在以下条件下: (1)资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,配置。 (2)控制资源的情况下,方便资源之间的互相通信。如线程池等 阅读全文
摘要:
结合最近研究和工作中用到的,面试中也经常会被问到的大数据做一个系列整理,此为第一篇 分区分表分库篇。 分区 定义:就是把一张表的数据分成N个区块,在逻辑上看最终只是一张表,但底层是由N个物理区块组成的。就比如一张表就是一本书。当要在一本书中查找某项内容时,如果不分章节,查找的效率将会下降。而同理,在 阅读全文
摘要:
首先,谢谢各位大神的指点。结合工作中遇到的问题和目前我了解到的分布式处理方案来简单谈谈。 1.事务的特性 事务必须满足传统事务的ACID特性,即原子性,一致性,分离性和持久性。 原子性:即最小单位的原子,要不全部成功,要不全部失败。 一致性:。事务必须始终保持系统处于一致的状态,不管在任何给定的时间 阅读全文
摘要:
Redis mongoDB memcache 性能 都比较高,性能对我们来说应该都不是瓶颈。 操作的便利性 稍微丰富一点,提供list,set, hash 等数据结构的存储 最像关系型数据库,数据类型非常丰富 memcache 数据结构单一。(key-value) 内存大小和数据量大小 Redis可 阅读全文
摘要:
共享锁【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 排他锁【X锁】又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A, 阅读全文