共计 2182 个字符,预计需要花费 6 分钟才能阅读完成。
七大设计准则:
1、繁多职责准则【SINGLE RESPONSIBILITY PRINCIPLE】:一个类负责一项职责.
2、里氏替换准则【LISKOV SUBSTITUTION PRINCIPLE】:继承与派生的规定.(子类可替换父类)
3、依赖倒转准则【DEPENDENCE INVERSION PRINCIPLE】:高层模块不应该依赖低层模块,二者都应该依赖其形象;形象不应该依赖细节;细节应该依赖形象。即针对接口编程,不要针对实现编程。
4、接口隔离准则【INTERFACE SEGREGATION PRINCIPLE】:建设繁多接口,不要建设宏大臃肿的接口,尽量细化接口,接口中的办法尽量少。
5、迪米特法令【LOW OF DEMETER】:高内聚 低耦合 – high cohesion low coupling
6、开闭准则【OPEN CLOSE PRINCIPLE】:一个软件实体如类、模块和函数应该对扩大凋谢,对批改敞开。
7、组合 / 聚合复用准则【Composition/Aggregation Reuse Principle(CARP)】:尽量应用组合和聚合少应用继承的关系来达到复用的准则。
24 种设计模式:
一、创立型模式
1、形象工厂模式 (Abstract factory pattern): 提供一个接口, 用于创立相干或依赖对象的家族, 而不须要指定具体类.
2、生成器模式(Builder pattern): 应用生成器模式封装一个产品的结构过程, 并容许按步骤结构. 将一个简单对象的构建与它的示意拆散, 使得同样的构建过程能够创立不同的示意.
3、工厂模式(factory method pattern): 定义了一个创建对象的接口, 但由子类决定要实例化的类是哪一个. 工厂办法让类把实例化推延到子类.
4、原型模式(prototype pattern): 当创立给定类的实例过程很低廉或很简单时, 就应用原形模式.
5、单例了模式(Singleton pattern): 确保一个类只有一个实例, 并提供全局拜访点.
6、多例模式(Multition pattern): 在一个解决方案中联合两个或多个模式, 以解决个别或反复产生的问题.
二、结构型模式
1、适配器模式 (Adapter pattern): 将一个类的接口, 转换成客户冀望的另一个接口. 适配器让本来接口不兼容的类能够合作无间. 对象适配器应用组合, 类适配器应用多重继承.
2、桥接模式(Bridge pattern): 应用桥接模式通过将实现和形象放在两个不同的类档次中而使它们能够独立扭转.
3、组合模式(composite pattern): 容许你将对象组合成树形构造来体现”整体 / 局部”层次结构. 组合能让客户以统一的形式解决个别对象以及对象组合.
4、装璜者模式(decorator pattern): 动静地将责任附加到对象上, 若要扩大性能, 装璜者提供了比继承更有弹性的代替计划.
5、外观模式(facade pattern): 提供了一个对立的接口, 用来拜访子系统中的一群接口. 外观定义了一个高层接口, 让子系统更容易应用.
6、亨元模式(Flyweight Pattern): 如想让某个类的一个实例能用来提供许多”虚构实例”, 就应用蝇量模式.
7、代理模式(Proxy pattern): 为另一个对象提供一个替身或占位符以管制对这个对象的拜访.
三、行为型模式
1、责任链模式(Chain of responsibility pattern): 通过责任链模式, 你能够为某个申请创立一个对象链. 每个对象依序查看此申请并对其进行解决或者将它传给链中的下一个对象.
2、命令模式(Command pattern): 将”申请”关闭成对象, 以便应用不同的申请, 队列或者日志来参数化其余对象. 命令模式也反对可撤销的操作.
3、解释器模式(Interpreter pattern): 应用解释器模式为语言创立解释器.
4、迭代器模式(iterator pattern): 提供一种办法程序拜访一个聚合对象中的各个元素, 而又不裸露其外部的示意.
5、中介者模式(Mediator pattern) : 应用中介者模式来集中相干对象之间简单的沟通和管制形式.
6、备忘录模式(Memento pattern): 当你须要让对象返回之前的状态时(例如, 你的用户申请”撤销”), 你应用备忘录模式.
7、观察者模式(observer pattern): 在对象之间定义一对多的依赖, 这样一来, 当一个对象扭转状态, 依赖它的对象都会收到告诉, 并自动更新.
8、状态模式(State pattern): 容许对象在外部状态扭转时扭转它的行为, 对象看起来好象改了它的类.
9、策略模式(strategy pattern): 定义了算法族, 别离关闭起来, 让它们之间能够相互替换, 此模式让算法的变动独立于应用算法的客户.
10、模板办法模式(Template pattern): 在一个办法中定义一个算法的骨架, 而将一些步骤提早到子类中. 模板办法使得子类能够在不扭转算法构造的状况下, 从新定义算法中的某些步骤.
11、访问者模式(visitor pattern): 当你想要为一个对象的组合减少新的能力, 且封装并不重要时, 就应用访问者模式.
以上就是本次分享的全部内容,当初想要学习编程的小伙伴欢送关注 Python 技术大本营,获取更多技能与教程。