2 qq 35229995 qq_35229995 于 2017.01.03 15:29 提问

设计模式问题;有些多谢谢

1对于代码中频繁变动的部分,我们一般怎么处理。这样有什么好处。
2继承和接口会存在哪些缺陷。
3 把工厂单独创建有什么意义。
4 单件模式的优点和具体实现形式。
5 封装调用靠什么模式体现。该模式的特点是什么。
6 非父类和子类之间能不能实现模板方法,如果可以,代码举例说明。
7装饰者模式类图的每个部分有什么含义和作用。

2个回答

caozhy
caozhy   Ds   Rxr 2017.01.03 17:14

1对于代码中频繁变动的部分,我们一般怎么处理。这样有什么好处。
整部设计模式书都在写这个。原则是依赖倒置,将需要修改的部分从主程序提取出来,单一职责,每个类干一件事情,替换功能就直接替换一个类
,开闭原则,一个类只能由它的开发者修改,如果它需要别的开发者修改,就要把变动的东西作为接口扩展。
2继承和接口会存在哪些缺陷
继承在某些语言中被限制为单继承,所以你继承了一个类,这个类就不能再继承别的类了,所以我们要把继承类留给最需要的那个。接口的缺点是不能包含代码实现,所以导致代码重复。而且接口一旦公布,不能轻易修改,所以定义接口要小心。
3 把工厂单独创建有什么意义。
设计模式的书的动机里有介绍
4 单件模式的优点和具体实现形式。
看设计模式的书
5 封装调用靠什么模式体现。该模式的特点是什么。
面向对象里,私有成员是一种封装,sealed方法不允许重写也是一种封装,等等。设计模式中每一种模式都利用了面向对象的封装性。
6 非父类和子类之间能不能实现模板方法,如果可以,代码举例说明。
可以。同时实现一个接口。创建模板的类作为这个接口的参数传入。
7装饰者模式类图的每个部分有什么含义和作用。
看你的图怎么画,这个设计模式的书上有

chongjieyuan
chongjieyuan   2017.01.03 17:03

代码中频繁变动用的部分,,如果是方法内容改变则使用接口替换,如果是整体对象则使用抽象类替换
继承会获取父类的所有公用的字段和实现方法可以有效减少重复代码,但没有强制性实现要求,且只有单个继承,接口可实现多继承但所有方法必须实现,可使用抽象类来减少所需实现方法
工厂单独创建可实现类创建逻辑的独立
单例模式就是整体只有一个对象,可使用java反射和动态字节码实现
封装不可见暴露可见
可以通过接口

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!