Rust – Design Patterns (RUST5)
            
                
                    Programming, Rust
                
                    In this course you will examine software design in Rust, which lacks data inheritance but offers traits to express abstraction and both static and dynamic polymorphism. You will map familiar object-oriented patterns to idiomatic Rust and test Rust-specific alternatives with examples.
Practice common creational, structural and behavioral patterns while using Rust features: composition, smart pointers, and generics. Learn when to prefer composition over inheritance, how to manage dependencies, and how to design clear, maintainable and extensible Rust libraries.
                
                
                
                
                    Location, current course term
                    
                
                Contact us
                
                
                
                
                        
                    
               
 
                
                
                    The course:
               
                Hide detail
               
                
                    
                        
                            - 
                                Program architecture
 
                            
                                    
                                
                                    - 
                                        Object-oriented design
 
                                
                                    - 
                                        Established design patterns
 
                                
                                    - 
                                        Dependencies between objects
 
                                
                                    
                                
                        
                    
                        
                            - 
                                Design principles
 
                            
                                    
                                
                                    - 
                                        SOLID and object design
 
                                
                                    - 
                                        Understandable and maintainable software
 
                                
                                    - 
                                        Seamless extensibility
 
                                
                                    
                                
                        
                    
                        
                            - 
                                Basic tools
 
                            
                                    
                                
                                    - 
                                        Composition and smart pointers
 
                                
                                    - 
                                        Dynamic polymorphism
 
                                
                                    - 
                                        Generic programming
 
                                
                                    
                                
                        
                    
                        
                            - 
                                Creational patterns
 
                            
                                    
                                
                                    - 
                                        Factory
 
                                
                                    - 
                                        Builder
 
                                
                                    - 
                                        Singleton
 
                                
                                    - 
                                        Prototype
 
                                
                                    
                                
                        
                    
                        
                            - 
                                Structural patterns
 
                            
                                    
                                
                                    - 
                                        Bridge
 
                                
                                    - 
                                        Facade
 
                                
                                    - 
                                        Adapter
 
                                
                                    - 
                                        Decorator
 
                                
                                    - 
                                        Proxy
 
                                
                                    
                                
                        
                    
                        
                            - 
                                Behavioral patterns
 
                            
                                    
                                
                                    - 
                                        Chain of responsibility
 
                                
                                    - 
                                        Command
 
                                
                                    - 
                                        Iterator
 
                                
                                    - 
                                        Generator
 
                                
                                    - 
                                        Mediator
 
                                
                                    - 
                                        Observer
 
                                
                                    - 
                                        Visitor
 
                                
                                    - 
                                        Template method
 
                                
                                    
                                
                        
                    
                        
                            - 
                                General recommendations
 
                            
                                    
                                
                                    - 
                                        Choosing from known patterns
 
                                
                                    - 
                                        Finding your own patterns
 
                                
                                    - 
                                        Using language features
 
                                
                                    - 
                                        Stability of library interfaces
 
                                
                                    
                                
                        
                    
                    
                
                    - 
                        Assumed knowledge:
 
                    - 
                        Basic knowledge of Rust and familiarity with object-oriented concepts.
 
                    - 
                        Recommended previous course:
 
                    - 
                        Rust – Parallel Programming (RUST4)
 
                    - 
                        Recommended  subsequent course:
 
                    - 
                        Rust – Unsafe Programming (RUST6)
 
                    - 
                        Schedule:
 
                    - 
                        3 days (9:00 AM  - 5:00 PM )
 
                    - 
                        Course price:
 
                    - 
                         736.00 € ( 890.56 € incl. 21% VAT)
 
                    
                    
                    
                    
                    - 
                        Language:
 
                    -