天天看点

设计模式-结构型学习提问

享元模式:解决对于实例化对象过多,造成资源浪费,与单例模式很相似,只不过是多种类型的。每个类型的实例有一个。

这里的共享技术指的是通过在实例化对象时通过哈希表来进行对象的管理存储,大量是指很多的对象,细粒度指的是每一个不相同的对象(不相同根据条件限制)

享元模式中具体被实例化对象与客户端产生关联关系,我认为客户端可以直接和它的父类产生关联关系。

组合模式:根据业务的理解,在公司当中分公司的权限更小只能作为一个履行职责的公司,而它的父级公司可以创建更多的子公司,但是它们都继承与公司这个抽象类,但是子公司并没有全部实现抽象类的方法。

这里所谓的一致性是指都是继承的一个抽象类吗?

装饰模式:这里的动态是体现在代码中给穿衣服的一个过程吗?那这个和职责链中的设置上下级这个过程不也是一样的吗

桥接模式:建造者模式的对象中属性的赋值被分离出来,而这个桥接模式也是通过两个类进行组合使用

实现部分的类在被调用时也是通过抽象部分的子类来实现的,这个是不是可以算通过第三方调用方法?

适配器模式:通过 一个接口或者类,把需要转化的但是这个适配的类是针对与一个类的。

外观:符合迪米特法则,通过外观层对下面的子系统进行访问。

代理:通过一个类进行另一个类的方法调用。

具体分类的话;代理、适配、外观

                        桥接、组合、装饰、享元

这是两个类型的,前三个是通过第三者进行对具体调用的,而后四个是独立的使用,并且在类图上的体现就与前三个不同,这个四个都是有聚合关系体现的。

当然之前提的问题也希望有大佬能给解答一下。万分感谢!