靈感來自于 Effective Objective-C 2.0棍鳖,海恩決定總結(jié)記錄自己在工作中遇到并解決問題后的所思所想炮叶。
功能的入口應(yīng)該盡量收斂,因?yàn)椋?/p>
- 通過重寫子類的方式來控制行為時(shí)渡处,只需要重寫收斂入口的那個(gè)類镜悉,并且只需要重寫一個(gè)方法;
- 實(shí)現(xiàn)方法時(shí)骂蓖,只需要考慮當(dāng)前一種情況积瞒,而非多種復(fù)雜情況;
- 功能下線時(shí)登下,代碼刪除風(fēng)險(xiǎn)相對較忻?住叮喳;
preferred:
- (void)setupWithFeatureEnable
{
}
- (void)setupWithFeatureDisable
{
}
- (void)viewDidLoad
{
if (feature_enable)
{
[self setupWithFeatureEnable];
}
else
{
[self setupWithFeatureDisable];
}
}
not preferred:
- (void)setup
{
}
- (void)viewDidLoad
{
[self setup];
}
- (void)methodA
{
if (feature_enable)
{
}
else
{
}
}
- (void)methodB
{
if (feature_enable)
{
}
else
{
}
}