《设计模式——可复用面向对象软件的基础》学习笔记(1.2)Design patterns in Smalltalk MVC...

1.MVC
(1)Model: The application object;
(2)View: The screen presentation of the model;
(3)Controller: the way the user interface reacts the user input.


2.View and Model: decouple views and models
Establish a subscribe/notify protocol between views and models.
Subscribe: Update or create views without rewriting models.
Notify: Changing models will notify views that depend on them.


3.View and View: CompositeView: implemented as a complex view containing nested button views.


4.View and Controller: Encapsulate the response mechanism to user input in a Controller object.
(1)There is a hierarcy of controllers, making it easy to create a new controller a new controller as a variation on an existing one.
(2)A view uses an instance of a Controller subclass to implement a particular response strategy.
(3)To implement a different strategy, simply replace the instance with a different kind of controller.
(3)To change a view's controller at run-time.


5.Observer:
A design to applicable to a more general problem: decoupling objects so that changes to one can affect any number of others without requiring the changed object to know details of the others.


6.Composite:
A design to let programmers create a class hierarchy in which some subclasses define primitive objects and other classes define composite objects that assemble the primitives into more complex objects.


7.Strategy:
A Strategy is an object that represents an algorithm. It's useful when you want to replace the algorithm either statically or dynamically, when you have a lot of variants of the algorithm, or when the algorithm has complex data structures that you want to encapsulate.


9.Main relationships and other relationships in MVC
(1)Main relationships: Observer, Composite and Strategy.
(2)Other relationships: Factory and Decorator.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值