pub struct CodingPatternDetector;Expand description
Detects coding patterns and design patterns in a codebase
Implementations§
Source§impl CodingPatternDetector
impl CodingPatternDetector
Sourcepub fn detect_factory_pattern(
scan_result: &ScanResult,
) -> Result<Option<DetectedPattern>, ResearchError>
pub fn detect_factory_pattern( scan_result: &ScanResult, ) -> Result<Option<DetectedPattern>, ResearchError>
Detects factory pattern
Factory pattern is characterized by:
- Factory classes/functions
- Object creation abstraction
- Multiple concrete implementations
Sourcepub fn detect_observer_pattern(
scan_result: &ScanResult,
) -> Result<Option<DetectedPattern>, ResearchError>
pub fn detect_observer_pattern( scan_result: &ScanResult, ) -> Result<Option<DetectedPattern>, ResearchError>
Detects observer pattern
Observer pattern is characterized by:
- Observer/listener interfaces
- Subject/publisher classes
- Event notification mechanism
Sourcepub fn detect_strategy_pattern(
scan_result: &ScanResult,
) -> Result<Option<DetectedPattern>, ResearchError>
pub fn detect_strategy_pattern( scan_result: &ScanResult, ) -> Result<Option<DetectedPattern>, ResearchError>
Detects strategy pattern
Strategy pattern is characterized by:
- Strategy interfaces/traits
- Multiple concrete strategies
- Context that uses strategies
Sourcepub fn detect_singleton_pattern(
scan_result: &ScanResult,
) -> Result<Option<DetectedPattern>, ResearchError>
pub fn detect_singleton_pattern( scan_result: &ScanResult, ) -> Result<Option<DetectedPattern>, ResearchError>
Detects singleton pattern
Singleton pattern is characterized by:
- Singleton class definitions
- Single instance management
- Global access point
Sourcepub fn detect_decorator_pattern(
scan_result: &ScanResult,
) -> Result<Option<DetectedPattern>, ResearchError>
pub fn detect_decorator_pattern( scan_result: &ScanResult, ) -> Result<Option<DetectedPattern>, ResearchError>
Detects decorator pattern
Decorator pattern is characterized by:
- Decorator classes/functions
- Wrapping/composition of objects
- Dynamic behavior addition
Sourcepub fn detect_adapter_pattern(
scan_result: &ScanResult,
) -> Result<Option<DetectedPattern>, ResearchError>
pub fn detect_adapter_pattern( scan_result: &ScanResult, ) -> Result<Option<DetectedPattern>, ResearchError>
Detects adapter pattern
Adapter pattern is characterized by:
- Adapter classes
- Interface conversion
- Incompatible interface bridging
Sourcepub fn detect_builder_pattern(
scan_result: &ScanResult,
) -> Result<Option<DetectedPattern>, ResearchError>
pub fn detect_builder_pattern( scan_result: &ScanResult, ) -> Result<Option<DetectedPattern>, ResearchError>
Detects builder pattern
Builder pattern is characterized by:
- Builder classes
- Fluent interface
- Complex object construction
Sourcepub fn detect_repository_pattern(
scan_result: &ScanResult,
) -> Result<Option<DetectedPattern>, ResearchError>
pub fn detect_repository_pattern( scan_result: &ScanResult, ) -> Result<Option<DetectedPattern>, ResearchError>
Detects repository pattern
Repository pattern is characterized by:
- Repository classes/interfaces
- Data access abstraction
- CRUD operations
Sourcepub fn detect_service_locator_pattern(
scan_result: &ScanResult,
) -> Result<Option<DetectedPattern>, ResearchError>
pub fn detect_service_locator_pattern( scan_result: &ScanResult, ) -> Result<Option<DetectedPattern>, ResearchError>
Detects service locator pattern
Service locator pattern is characterized by:
- Service locator classes
- Service registry
- Dependency lookup
Sourcepub fn detect_dependency_injection_pattern(
scan_result: &ScanResult,
) -> Result<Option<DetectedPattern>, ResearchError>
pub fn detect_dependency_injection_pattern( scan_result: &ScanResult, ) -> Result<Option<DetectedPattern>, ResearchError>
Detects dependency injection pattern
Dependency injection pattern is characterized by:
- Dependency injection containers
- Constructor/setter injection
- Inversion of control
Sourcepub fn detect_middleware_pattern(
scan_result: &ScanResult,
) -> Result<Option<DetectedPattern>, ResearchError>
pub fn detect_middleware_pattern( scan_result: &ScanResult, ) -> Result<Option<DetectedPattern>, ResearchError>
Detects middleware pattern
Middleware pattern is characterized by:
- Middleware classes/functions
- Request/response processing chain
- Cross-cutting concerns