freddo@feddit.nu to Programmer Humor@programming.devEnglish · 4 months agoOOP at home:feddit.nuimagemessage-square39fedilinkarrow-up14arrow-down10
arrow-up14arrow-down1imageOOP at home:feddit.nufreddo@feddit.nu to Programmer Humor@programming.devEnglish · 4 months agomessage-square39fedilink
minus-squareblackn1ght@feddit.uklinkfedilinkEnglisharrow-up1·edit-24 months agopublic interface ICanTravelThroughTheAir { } public class Flea : ICanTravelThroughTheAir { } public class AircraftCarrier { private readonly List<ICanTravelThroughTheAir> _aircraft = new(); public void AddAircraft(ICanTravelThroughTheAir flyingThing) { _aircraft.Add(flyingThing); } } public class Dog : AircraftCarrier { public void Woof() { Console.WriteLine("Bitch I'm an aircraft carrier!"); } } public static class Program { public int Main(string[] args) { var dog = new Dog(); for (var i = 0; i < 10000; i++) { dog.AddAircraft(new Flea()); } dog.Woof(); } }
minus-squarejenesaisquoi@feddit.orglinkfedilinkEnglisharrow-up1·4 months agoNeeds more AbstractDefaultProxyBeanFactoryFactories
minus-squareSupercrunchy@programming.devlinkfedilinkarrow-up0·4 months agoAnd dependency injection! Every class needs to use DI for calling other classes, even though we’ll have anyway just a single implementation for all of them, and we won’t be using this flexibility at all (not even for tests where it might be useful for mocking dependencies).
minus-squareVibeSurgeon@piefed.sociallinkfedilinkEnglisharrow-up0·4 months agoWhy even use DI if you’re not planning on faking dependencies for unit testing purposes
public interface ICanTravelThroughTheAir { } public class Flea : ICanTravelThroughTheAir { } public class AircraftCarrier { private readonly List<ICanTravelThroughTheAir> _aircraft = new(); public void AddAircraft(ICanTravelThroughTheAir flyingThing) { _aircraft.Add(flyingThing); } } public class Dog : AircraftCarrier { public void Woof() { Console.WriteLine("Bitch I'm an aircraft carrier!"); } } public static class Program { public int Main(string[] args) { var dog = new Dog(); for (var i = 0; i < 10000; i++) { dog.AddAircraft(new Flea()); } dog.Woof(); } }Needs more
AbstractDefaultProxyBeanFactoryFactoriesAnd dependency injection!
Every class needs to use DI for calling other classes, even though we’ll have anyway just a single implementation for all of them, and we won’t be using this flexibility at all (not even for tests where it might be useful for mocking dependencies).
Why even use DI if you’re not planning on faking dependencies for unit testing purposes