守则的例子有C#,但这是一个总的问题。
我知道,根据业务处的规则,应当尽量减小轮.,只要有可能,成员就应当保持非公开。
Consider this example:
你们正在撰写一套分门别类的数据集(不谈论System.Data.DataSet)的校外程序,在节目的字面上使用。 事实上,该方案基本上只是装上、显示、操纵和节省数据集。 此外,任何时候都只能安装一个数据集,并在方案开放时装上。
如果我们严格遵守办事处规则,我们本会这样做。
public void ShowSomeGraphs(IData data)
{
// do stuff with data which implements IData
}
然而,我们可以在<条码>中储存一个<条码>的公开静态数据条码>成员,例如:
public void ShowSomeGraphs()
{
// do stuff with Program.Data
}
一方面,我们交换了稍微短的功能签名,用于大增的类别政变。 另一方面,我们已不再通过一个数据参数,实际上达到every功能,every where。
right>。 答案可能是:尽可能避免交火。 当地数据变数只是点数,因此,记忆管理可忽略不计,而且由于这些类别被分解,以后可在其他地方使用。
尽管现实地说,在不同应用中,数据类别的结构可能有很大的不同,因此,它并不像你那样只是从该方案中提取一个类别,而在其他地方却没有任何麻烦。 需要更多的时间和努力,以便用can 仅仅放弃可能难以为利益攸关方辩护。
I m working on this sort of program now, and I have used the OO-canon approach: Data parameters are passed around where needed I have minimised class coupling with an IData interface to generalise the data set for future code re-use. Given the application, I m almost certain this code won t ever be re-used. Without these extra interfaces and abstraction, the program would have worked exactly the same as far as the end user is concerned, but would have represented significantly less headaches and development time for me.
你们对此有何想法? 您是否认为,有必要花一切额外时间来撰写接口和一般化,以确保课堂尽可能脱节,特别是当你发现别处使用的课堂时?