getSummary
和getMovementType
方法是否了解过多(Context
),是否违反了SRP?这些方法在RecyclerView.Adapter
中使用。
abstract class Movement(
val movementId: Int = 0,
val created: Date = Date(),
val createdBy: String = "",
val movementActive: String = Constants.ACTIVE,
var quantity: Double = 0.0,
var material: Material = Material()
) {
abstract fun getSummary(context: Context): String
abstract fun getMovementType(context: Context): String
}
data class Entry(
val id: Int = 0,
var observation: String = "",
var warehouse: Warehouse = Warehouse()
) : Movement() {
override fun getSummary(context: Context) =
context.getString(R.string.title_warehouse) + ": ${warehouse.name}. " +
context.getString(R.string.title_material) + ": ${material.name}. " +
context.getString(R.string.quantity) + ": $quantity. " +
context.getString(R.string.observation) + ": $observation. " +
context.getString(R.string.user) + ": $createdBy"
override fun getMovementType(context: Context) = context.getString(R.string.title_entry)
}
不,不是。
[无论哪种方法都知道(在您的情况下是这样),SRP都将“承担单一责任”。
我看到您的方法仅从上下文返回一些值。不要让他们做任何其他事情(例如,将某物设置到某处或将某物发送到某处),并且您遵循SRP