作业二 软件设计原则、设计模式


这个作业属于哪个课程 班级的链接
这个作业要求在哪里 作业要求的链接
这个作业的目标 阅读有关于软件设计原则和设计模式并总结自己的经验写心得体会

一、参考资料

  七大设计原则,24种设计模式

二、总结体会

设计原则

设计模式

1、创建型模式

1、抽象工厂模式(Abstractfactorypattern):提供-个接口,用于创建相关或依赖对象的家族,而不需要指定具体类.
2、生成器模式(Builderpattern):使用生成器模式封装-个产品的构造过程,并允许按步骤构造.将一个复杂对象的构建与它的表示分离,使得
同样的构建过程可以创建不同的表示.
3、工厂模式(factorymethodpattern):定义了一个创建对象的接口,但由子类决定要实例化的类是哪一-个.工厂方法让类把实例化推迟到子类.
4、原型模式(prototypepattern):当创建给定类的实例过程很昂贵或很复杂时,就使用原形模式.
5、单例了模式(Singletonpattern):确保一个类只有一个实例,并提供全局访问点.
6、多例模式(Multitionpatterm):在一个解决方案中结合两个或多个模式,以解决-般或重复发生的问题.

2、结构型模式

1、适配器模式(Adapterpattern):将-个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无间.对象适配器使
用组合,类适配器使用多重继承.
2、桥接模式(Bridgepattern):使用桥接模式通过将实现和抽象放在两个不同的类层次中而使它们可以独立改变.
3、组合模式(compositepattern):允许你将对象组合成树形结构来表现"整体/部分"层次结构.组合能让客户以一致的方式处理个别对象以及对
象组合..
4、装饰者模式(decoratorpattern):动态地将责任附加到对象.上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案.
5、外观模式(facadepattern):提供了一个统-的接口,用来访问子系统中的一群接口.外观定义了一个高层接口,让子系统更容易使用.
6、亨元模式(FlyweightPattern):如想让某个类的一个实例能用来提供许多"虚拟实例",就使用蝇量模式.
7、代理模式(Proxypattern):为另-个对象提供--个替身或占位符以控制对这个对象的访问.

2、行为型模式

1、责任链模式(Chainofresponsibilitypattern):通过责任链模式,你可以为某个请求创建一个对象链.每个对象依序检查此请求并对其进行处
理或者将它传给链中的下一个对象.
2、命令模式(Commandpattern):将’请求'封闭成对象,以便使用不同的请求,队列或者日志来参数化其他对象.命令模式也支持可撤销的操作.
3、解释器模式(Interpreterpattern):使用解释器模式为语言创建解释器.
4、迭代器模式(iteratorpattern):提供--种方法顺序访问一.个聚合对象中的各个元素,而又不暴露其内部的表示.
5、中介者模式(Mediatorpattern):使用中介者模式来集中相关对象之间复杂的沟通和控制方式.
6、备忘录模式(Mementopattern):当你需要让对象返回之前的状态时(例如,你的用户请求"撤销"),你使用备忘录模式.
7、观察者模式(observerpattern):在对象之间定义-对多的依赖,这样一来,当-个对象改变状态,依赖它的对象都会收到通知,并自动更新.
8、状态模式(Statepattern):允许对象在内部状态改变时改变它的行为,对象看起来好象改了它的类.
9、策略模式(strategypattern):定义了算法族,分别封闭起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户.
10、模板方法模式(Templatepattern):在-个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法
结构的情况下,重新定义算法中的某些步骤.
11、访问者模式(visitorpattern):当你想要为一个对象的组合增加新的能力,且封装并不重要时,就使用访问者模式.

总结体会

通过本次学习,让我形成了一个初步地规范代码地意识,会开始替换自己代码中杂乱无章的部分,形成良好的风格,让代码更加通俗易懂,更加的便于修改和维护,令程序的稳定性进一步提高;而且还能提高程序的扩展性,使增加新功能时不用修改接口。

三、相关截图

1、博客园编辑截图

相关