Technical requirementsFollowing the Encapsulate What Varies principleWhat does it mean?BenefitsTechniques for achieving encapsulationAn example – encapsulating using polymorphismAn example – encapsulating using a propertyFollowing the Favor Composition Over Inheritance principleWhat does it mean?BenefitsTechniques for compositionAn example – compose a car using the engineFollowing the Program to Interfaces, Not Implementations principleWhat does it mean?BenefitsTechniques for interfacesAn example – different types of loggerAn example – different types of logger, now using ProtocolsFollowing the Loose Coupling principleWhat does it mean?BenefitsTechniques for loose couplingAn example – a message serviceSummary