pub trait EvaluationComponent { // Required methods fn evaluate(&self, board: &Board) -> i32; fn component_name(&self) -> &'static str; }
Interface for evaluation components (Interface Segregation Principle)