我最近在过去的几个月里开始用
Java编写代码.我有一个Matrix类,它通过很多方法变得过于臃肿.我还有一个扩展Matrix的SquareMatrix类,并减少了一些膨胀.
我发现的是,Matrix类中的很多方法通常与矩阵相关.它具有所有基础知识,如addMatrix(Matrix),multiplyMatrix(Matrix),multiplyMatrix(float),然后是更复杂的方法,如getGaussian(Matrix)或getLUDecomposition(Matrix).
我有什么选择减少我的班级Matrix中的行数?
一堂课变得非常大是正常的吗?我不这么认为……
这是我应该在早期考虑的事情,重构是困难的吗?或者有简单的解决方案吗?
谢谢!
编辑:在阅读了几个回复后,我正在考虑做以下事情:
实用程序类Matrix包含矩阵的所有常用/基本方法
授权类(助手/子):
*助手班*
getGaussian(..),getLUFactorization(..),…
子类
(扩展矩阵)
SquareMatrix,LowerTriMatrix,UpperTriMatrix,……
委派似乎类似于在C中定义带有标头的多个.cpp文件.
仍然欢迎提供更多提示.
Edit2:另外,我更喜欢通过正确设计而不是快速修正来重构.我希望它能为未来的项目提供帮助,而不仅仅是这个项目.