+ -
当前位置:首页 → 问答吧 → 7->The Strategy Pattern(phpchina 预定)

7->The Strategy Pattern(phpchina 预定)

时间:2006-03-27

来源:互联网

7
The Strategy
Pattern
WHEN DEVELOPING OBJECT-ORIENTED CODE, you sometimes need an object to vary its
behavior slightly based on circumstance. For example, a Menu might render itself horizontally
or vertically depending on a user’s “skin” preference, or an Order might calculate sales
tax differently based on the customer’s shipping address.
A typical implementation of an object like Menu has methods to add(), delete(), and replace()
menu items, set() the style, and render() itself. No matter what kind of menu you want to create,
Menu offers a consistent interface; only the internal algorithms of one or more methods―at least render(),
for example―differ.
But what happens, say, as the number of menu styles expands? Or, in the case of Order, what happens
as county, state, and foreign country tax rules are taken into account? If many methods have case
statements to implement special cases, an otherwise simple encapsulation soon becomes convoluted,
difficult to read and difficult to maintain.

作者: PHPChina   发布时间: 2006-03-26

没人抢,自己先抢一个。第7章我翻译了!:D

作者: PHPChina   发布时间: 2006-03-27

...

作者: Bantu   发布时间: 2006-03-28

热门下载

更多