我有一組繼承功能的類,具體取決於它們的功能。它們是屏幕元素:PHP繼承:不要重複自己與一個類都適合所有
一些例子是:
ScreenElement_Text_Area extends ScreenElement_Text extends ScreenElement
ScreenElement_Text_Text extends ScreenElement_Text extends ScreenElement
ScreenElement_Date_ddmmyyyyhhmm extends ScreenElement_Date extends ScreenElement
繼承使我不重複自己來指定不同的行爲(HTML代碼,樣式驗證)。簡單的例子:
ScreenElement::getTitle()
ScreenElement::getValue()
ScreenElement_Text::getMaxChars()
ScreenElement_Text_Money::getCurrency()
的問題是,這些類現在正在不同的使用場合和他們原定(這是描述的形式部分):對於例如,作爲表格中的列或描述出現在日曆中的信息。每個上下文都將方法和屬性添加到其他用例不需要的類中。例如:
當一個形式使用:getFormElement()
當在一個表中使用:calculateColumnWidth()
當日歷使用:getStartTime()
現在我問自己如何降低不斷增長的複雜!我想要更小,更專業的類,但不希望乘以類的數量或重複代碼,但我無法理解這一點。