设计模式学习心得。

摇撼大地 摇撼大地 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
又看了几个设计模式。希望大神指点,看我说的对不对。

1,原型模式:

就是对象的复制。集成ICloneable接口。深层复制,包含的对象也需要集成IClongeable接口。

应用场景:对象创建挺复杂的时候。用复制比较快。也方便。
2,模板模式:
就是把父类的具体行为,延迟到子类中。

具体做法就是把变化的部分,写成virtual 型方法。
然后子类继承父类,并重写这部分内容。这样就实现了父类功能的具体化。也利于以后扩展。因为要被重写,所以父类作为模板,一般都是抽象类。

应用场景。有一个方法,被大量的用于多个子类,子类调用起来都要写很多重复的代码。
就需要提炼这个方法,写一个虚方法。然后子类去重写。这样重复的代码就被父类执行了。子类只执行不同的地方。就可以了。

3,外观模式:
把一些旧的方法,或者几个相关性非常强,互相联系很紧密,或者旧系统,功能很多的好多类,集成成一个,对外开放需要开放的接口。

应用场景:旧系统,重构太多的情况下。用新的接口封装功能。

4,建造者模式:
当一个对象创建的过程非常复杂。应该把创建步骤打包。并提供单独的Create方法。把具体的个性化的创建方法写成虚方法。子类可以重写他的方法。

书上的还有一个指挥者类。我觉得没啥必要。直接写到创造者里面,似乎没啥区别。

应用场景:对象的创建过程非常复杂。需要很多步骤,直接创建容易出错,这样就把创建过程写成长方法,并返回创建好的对象。然后把个性化的创建过程写成虚方法。让子类去重写。

...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
摇撼大地
C# 111,129 成员 642,538 内容