以 php 为例:
假设有个函数是发表文章:
function post($title, $content) { ... }
后来可能需要一些改动比如加入一些作者什么的
function post($title, $author, $content){ ... }
再后来,再加入了分类:
function post($title, $auhor, $content, $cat) { .... }
以此类推。
这个函数有可能很多地方都在调用,改了签名可能会影响一大堆的地方。这样显然不好。
于是有人想了个办法:
function post($data) { ... }
$data 是个大数组,不论里边怎么变,都不用改动别的代码了。
但是这又带来另外一个问题:
我从函数的签名不知道这个函数都能使用哪些参数,违背了一开始封装的初衷,更恼人的是过了几个月之后,代码的作者都不知道这个函数该怎么用了!
怎么处理这种经常变更的情况呢?
假设有个函数是发表文章:
function post($title, $content) { ... }
后来可能需要一些改动比如加入一些作者什么的
function post($title, $author, $content){ ... }
再后来,再加入了分类:
function post($title, $auhor, $content, $cat) { .... }
以此类推。
这个函数有可能很多地方都在调用,改了签名可能会影响一大堆的地方。这样显然不好。
于是有人想了个办法:
function post($data) { ... }
$data 是个大数组,不论里边怎么变,都不用改动别的代码了。
但是这又带来另外一个问题:
我从函数的签名不知道这个函数都能使用哪些参数,违背了一开始封装的初衷,更恼人的是过了几个月之后,代码的作者都不知道这个函数该怎么用了!
怎么处理这种经常变更的情况呢?