博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Reading Design Patterns
阅读量:4073 次
发布时间:2019-05-25

本文共 3937 字,大约阅读时间需要 13 分钟。

     As you see,<<Design Patterns>>---Elements of Reusable Object-Oriented Software,is one of the computer books witch have the great force on the COmputer Science. So I decide to read the English edition of this book,Of course before this ,I have taken a <<Professional English>> course.Now I will show you the 23 patterns that reffered to in these book time after time.

     Abstract Factory:Provide an interface for creating families of related or dependent objects without specifying their concrete classes. 

     Adapter:Convert the interface of  a  class into another interface clients expect.Adapter lets classes work together that couldn't otherwise because of incompatible interfaces.
     Bridge:Decouple an abstraction from its implementation so that the two can vary independently.
     Builder:Separate the construction of  a complex object from its representation so that the same construction process can create different representations.
     Chain of Responsibility:Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request.Chain the receiving objects and pass the request along the chain until an object handles it. 
    Command:Encapsulate a request as an object ,thereby letting you parameterize clients with different requests ,queue or log requests , and support undoable operations.
    Composite:Compose objects into tree structures to represent part-whole hiberarchies.Composite lets clients treat individual objects and compositions of objects uniformly.
    Decorator :Attach additional responsibilities to an object dynamically.Decorators provide a flexible alternative to subclassing for extending functionality.
    Facade:Provide a unified interface to a set of interfaces in a subsystem.Facade defineds a higher-level interface that makes the subsystem easier to use.
    Factory Method.Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclasses.
    Flyweight:Use sharing to support large numbers of fine-grained objects efficiently.
    Interpreter:Given a language,define a represention for its grammer along with an interpreter that uses the representation to interpret sentences in the language.
    Iterator:Provide a way to access the elements fo an aggregate object sequentially without exposing tis underlying representation.
    Mediator:Define an object that encapsulates how a set of objects interact.Mediator promotes loose coupling by keeping objects from referring to each other explicitly,and it lets you vary their interaction independently.
    Memento:Without violating encapsulation,capture and externalize an object's internal state so that the object can be resotred to this state later.
    Observer:Define a one-to-many dependency between objects so that when one object changes state,all its dependents are notified and updated automatically.
    Prototype:Specify the kingd of objects to create using a prototypical instance,and create new objects by copying this prototype.
    Proxy:Provide a surrogate or placeholder for another object to control access to it.
    Singleton:Ensure a class only has one instance,and provide a global point of access to it.
    State:Allow an object to alter its behavior when its internal state changes.The object will appear to change its class.
    Strategy:Define a family of algorithms,encapsulate each one,and make theminterchangeable.Strategy lets the algorithm vary independently from clients that use it.
    Template Method:Define the skeleton of an algorithm in an operation,deferring some steps to subclasses.template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure.
     Visitor:Represent an operation to be performed on the elements of an object structure.Visitor lets you define a new operation without changing the classes of the elements on which it operates. 

     Remember all these Patterns ,they will benefit on your work!

转载地址:http://jlkni.baihongyu.com/

你可能感兴趣的文章
postgresql监控工具pgstatspack的安装及使用
查看>>
postgresql查看表的和索引的情况,判断是否膨胀
查看>>
postgresql中根据oid和filenode去找表的物理文件的位置
查看>>
postgresql减少wal日志生成量的方法
查看>>
swift中单例的创建及销毁
查看>>
获取App Store中App的ipa包
查看>>
iOS 关于pods-frameworks.sh:permission denied报错的解决
查看>>
设置RGBColor
查看>>
设置tabbaritem的title的颜色及按钮图片
查看>>
动态设置label的高度
查看>>
获取 一个文件 在沙盒Library/Caches/ 目录下的路径
查看>>
图片压缩
查看>>
检测缓存文件是否超时
查看>>
十进制字符串转十六进制字符串
查看>>
属性字符串(富文本)的使用
查看>>
cell上label的背景颜色在选中状态下改变的解决办法
查看>>
GPS定位
查看>>
地图、显示用户位置、大头针
查看>>
自定义大头针
查看>>
UIButton添加block点击事件
查看>>