The Principles of Clean Architecture by Uncle Bob Martin

  Переглядів 568,808

NorfolkDevelopers

NorfolkDevelopers

8 років тому

The Principles of Clean Architecture
by Uncle Bob Martin
(@unclebobmartin)
Robert C. Martin, aka, Uncle Bob has been a software professional since 1970 and an international software consultant since 1990. In the last 40 years, he has worked in various capacities on literally hundreds of software projects. In 2001, he initiated the meeting of the group that created Agile Software Development from Extreme Programming techniques and served as the first chairman of the Agile Alliance. He is also a leading member of the Worldwide Software Craftsmanship Movement - Clean Code.
He has authored "landmark" books on Agile Programming, Extreme Programming, UML, Object-Oriented Programming, C++ Programming and most recently Clean Code and Clean Coder. He has published dozens of articles in various trade journals.He has written, directed and produced numerous "Code Casts" videos for software professionals.Bob is a regular speaker at international conferences and trade shows.Mr. Martin is the founder, CEO, and president of Uncle Bob Consulting, LLC and Object Mentor Incorporated.
Uncle Bob has published dozens of articles in various trade journals, and is a regular speaker at international conferences and trade shows.
Mr. Martin has authored and edited many books including:
• The Clean Coder
• Clean Code
• Agile Software Development: Principles, Patterns, and Practices.
• Designing Object Oriented C++ Applications using the Booch Method
• Agile Principles Patterns and Practices in C#
• Patterns Languages of Program Design 3
• More C++ Gems
• Extreme Programming in Practice
• UML for Java Programmers
www.meetup.com/Norfolk-Develop...

КОМЕНТАРІ: 300
@anuraghazra4772
@anuraghazra4772 3 роки тому
Only Bob Martin video where i can clearly see the slides.
@zach7275
@zach7275 Рік тому
"You should architect your systems in such a way that is not impossible to break away from it." sums it up perfectly
@simonmassey8850
@simonmassey8850 7 місяців тому
I have been pointing people to this video for years. It is a timeless classic. All my code and all my data infrastructure are now built in this way. A clean model of the problem domain with bindings, plugins or generators doing the mediation to the internal resources or external services. I will keep on pointing people to this video to explain why the software we write that way is so much more effective than the legacy approaches 😊
@Standbackforscience
@Standbackforscience 7 років тому
I LOVE how every single one of Bob's lectures starts off on a wild yet fascinating tangent.
@llllllblodllllll
@llllllblodllllll 4 роки тому
However incorrect. 1 year later, a baby with 3 biological parents was announced.
@guilleagudelo
@guilleagudelo 4 роки тому
I don't like his stories because they don't have anything to do with the topic and wastes the audience's time talking about something that they're not interested in. I've seen two talks of him where he does this, he takes 10 to 20 minutes talking about weird stuff and, in the end, he is lacking time to finish the talk he was called to give. I watched a talk by him about SOLID principles where he spent the first 20 minutes talking about water molecules and, in the end, he only had time to explain the S, the O and the L of SOLID. So, he didn't explained the I and the D because he didn't have time! why? because he wasted it talking about water molecules! The same thing happened in this talk. He end up skipping some slides because he took 20 minutes talking about women cells.
@mistalan
@mistalan 3 роки тому
​@@guilleagudelo No he didn´t talk about I and D becuase he still wants to sell his book ;) Which is completely fine and has nothing to do with his talk at the start.
@kupsztal
@kupsztal 3 роки тому
@@guilleagudelo Thank you! I have the same feeling. I only feel annoyed rather than inspired. It would make sense to make such intros as long as the issue described somehow relates to the main topic. Also: the fact that he says that we all have the same parents somewhere deep in the history of the human race is simply put wrong.
@zeez7777
@zeez7777 Місяць тому
@@kupsztal How is it wrong though? You'd have to forfeit logic
@vasafeasdas6183
@vasafeasdas6183 5 років тому
Before I started this lecture I thought, that I would force myself, but I will listen to it till the very end to understand the significance and intention of Clean Architecture and my expectation was that I will be constantly bracing myself up to stay focused, but after literally 5 seconds of the lecture it was fun until the very end of the lecture. Thank you, uncle Bob
@colinrickels201
@colinrickels201 Рік тому
Can’t believe this legend drops what will go on to be one the most used architectural approaches on them and they have but one follow up question
@AlexandriaRohn
@AlexandriaRohn 6 років тому
28:00 MVC is not an architecture. “Model View Controller may be the very first named design pattern”. 33:06 Model View Presenter. 47:44 Why do we have these engines? Because disks are a pain in the ass. The job of the database was to get rid of that pain. So we invented things like indexes and tables and we used frameworks to get data in and out of these spinning disks. 53:11 The reason for the DB to exist is disappearing. And we're going to have access to indefinite amounts of persistent RAM that we can store data in. NoSql movement is borne out of the idea that we don't need DB's anymore. 1:06:33 Good architectures allow major architectural decisions to be deferred. The job of an architect is to defer decisions as long as possible. So that decisions can be made later with most possible information.
@takkoaton
@takkoaton 6 років тому
thats great! thanks :)
@ayasalama7533
@ayasalama7533 6 років тому
thanks for summarizing
@Name-lt2tz
@Name-lt2tz 6 років тому
I have no idea how can you write web application defering using database and framework. Ok you need simple routing, but you defered framewrok. So you write your own router? does not make any sense. You use framework router.
@elbachirnouni
@elbachirnouni 4 роки тому
@@Name-lt2tz i think the idea behind that is to develop first business logic without thinking about framworks or that your business app will be served over web. This way when it comes to choose the right framework you will just call the business module methods in your web controller.
@Name-lt2tz
@Name-lt2tz 4 роки тому
@@elbachirnouni So you write logic without testing? I cant imagine this. Even with testing there come lot of bugs and is hard to write, but witthout ability to test fully , I think it would be waste of time .
@jonchicoine
@jonchicoine 5 років тому
This is the best technical presenter on he planet!
@obogz
@obogz 4 роки тому
I love his lectures, you learn so much! Even programming! :)
@shoppertreat2154
@shoppertreat2154 5 років тому
Wonderful lecture tracing importance of software requirements (via use cases) to the final implementations via various tools such as languages, databases and frameworks. So many places they are simply neglected to the final dismay of all stakeholders
@Fwlab-Sviluppo-App-Milano
@Fwlab-Sviluppo-App-Milano 5 років тому
I would listen around 11 min over and over, on the thinking process. Also architecture is about INTENT. Simply priceless.
@dragonsen
@dragonsen 4 роки тому
33:06 Plugin Model (Model View Presenter) - Web is the Plugin & Business Logic in API. Example Plugins for VS Code 1. A Good Architecture allows major decisions to be deferred 2. A Good Architecture maximizes decisions NOT made 3. Plugin Model. Things like Web, Framework, Database should be considered as plugins for Use Case.
@anthonypark9158
@anthonypark9158 2 роки тому
Great Talk. I honestly didn't expect me to finish watching at one go. Also, Thank you for my teammates for posting this on our project wiki!
@jordibares
@jordibares 7 років тому
"if you break it is yours" - So true!
@shemooredavid6250
@shemooredavid6250 3 роки тому
Beautiful talk, I loved every second of it
@mainmarketafrica
@mainmarketafrica 3 роки тому
Thank you for this great lecture.
@KenGormanGuitar
@KenGormanGuitar 5 років тому
Good lecture. Hate to add a comment, but if you are a young programmer, please consider my response to Mr. Martin's DB thoughts. Please do not disregard the importance of learning, studying and applying relational database concepts, designs and applications to your toolkit. For some reason, many developers 'shut down' in this area. But the strength and overall freedom you will gain when building your own applications and throughout your career will be huge by learning to design, create and correctly use databases - when you determine they are needed - for the domain you are working in. Flat files, xml files, in-memory objects, no sql databases - these are all great options too. However, many of the applications you will work on that require speed, complex relationships between entities, and redundancy will use at least one relational database. Also, work with stored procedures when you can. Entity frameworks/JPAs are great, but you will be more valuable to yourself and future employers by understanding how to correctly write a stored procedure. Finally, consider your future job searches.... telling a tech lead or CTO on your next interview that relational databases are not your cup of tea is not the way to go. I think in many ways Mr Martin might agree with me, and I don't think he is 100% saying don't deal with relational databases. Please don't think I'm knocking a person who I know has software knowledge light years beyond mine.
@exapsy
@exapsy 4 роки тому
NoSQL have been proven to be faster in many circumstances than SQL databases. It's not a 'Which is faster" issue here, rather than use case issue.
@WisomofHal
@WisomofHal 4 роки тому
I love uncle Bob! Thanks for opening my mind to the world of technology!
@terjemah_alquran
@terjemah_alquran 4 роки тому
enlightening talk. thanks uncle bob
@friedrichdergroe9664
@friedrichdergroe9664 4 роки тому
Excellent talk. Thanks.
@najs123
@najs123 7 років тому
It's a great talk. I love the whole "it's just a i/o divice"-stick. Sometimes he sounds like the Heath Ledger Joker, but that's only a plus - some men only want to see the database burn
@eminberkay
@eminberkay 7 місяців тому
Amazing lesson. Thanks!
@wotcherfaz
@wotcherfaz 5 років тому
Really good bit starts around 1:00 in (one hour) talking about good test suites empowering cleaner code.
@mosesindecks
@mosesindecks 4 роки тому
Uncle Bob Martin is pure genius.
@aloveofsurf
@aloveofsurf 5 років тому
Here is another example of a lecturer presenting interesting anecdotes until the end and providing pearls so that the people who didn't arrive until 70 minutes into the talk and those who stayed for 75 minutes of the talk all get. One beautiful pearl is presented at around 1hour 13minutes: architecture can intentionally impose laziness as a means of decoupling a system from its dependencies by designing the core of the system before it's interfaces.
@yenenehmulatu5707
@yenenehmulatu5707 5 років тому
Finally I managed to watch the whole video 👍🏿
@colloredbrothers
@colloredbrothers 5 років тому
Really good talk, changed how I think about things.
@ABOUZARWALA
@ABOUZARWALA 4 роки тому
Wow i Just come out To see This excellent lecture. Thanks for uploading it
@littlesamurai4330
@littlesamurai4330 2 роки тому
Thank you! This is very valuable!
@Gunth0r
@Gunth0r 6 років тому
Great talk!
@michaelderobio5256
@michaelderobio5256 7 років тому
For me, the database became central during the client-server "craze". And it has stayed pretty central in my thinking ever since then. I was even a DBA for a while. After listening to Uncle Bob, I'm reconsidering my thinking. The problem is that I'm awesome at T-SQL. Looks like I may need a new strength ;-) I wonder what he thinks about the future of Kimball type data warehouses?
@nicelydone4319
@nicelydone4319 7 років тому
good talk. I love to make some factory and the inject third party, but most of frameworks you can't easily change.
@ursusminimus981
@ursusminimus981 4 роки тому
"i will code for food" never gets old :DDD
@ShaunPatterson
@ShaunPatterson 7 років тому
One of the better lectures by Bob
@user-ph4zo2sr5v
@user-ph4zo2sr5v 5 років тому
Any other suggestions? Are his lectures not usually good?
@augustsbautra
@augustsbautra 2 роки тому
"You do not want to follow the examples that the framework author wrote for you." True for every ivar-assiging Rails controller example.
@jalalsadeghi66
@jalalsadeghi66 7 років тому
Very useful
@berajpatel8081
@berajpatel8081 4 роки тому
Thank you "uncle" bob martin
@surendrabisht2523
@surendrabisht2523 6 років тому
just wow
@intriguefortwo
@intriguefortwo 3 роки тому
Re: "Are you protecting your digital assets?" Less than 1% of the time I've spoken to DBAs has been about "protection" or security or account privileges. It's almost always about throughput, capacity, budget, and optimization. Even if you diminish a RDBMS to "just an I/O device", the knowledge and skillsets you need to efficiently operate and troubleshoot I/O devices is very different than what even seasoned software developers possess. Don't treat your DBAs as stewards. Treat them as co-contributors who share the same goals as you do -- to deliver an excellent experience to your end users.
@forebearing1320
@forebearing1320 2 роки тому
Well done on missing the point
@req777
@req777 7 років тому
I think there is a typo in the slide at 26:05 - Request Model should be Result Model
@user-pu5ho5kj7u
@user-pu5ho5kj7u 9 місяців тому
"Imagine you are working on a system 10 years from now and you are inextricably bound to a relational database..." 7 years on, how we doing?
@lawrencemiller3829
@lawrencemiller3829 6 років тому
Along these lines, MFC apps are MFC window centric, but a window is just a peripheral and should have code that reflects that, that is, be just an I/O object.
@porky1118
@porky1118 5 років тому
This inspired me to seperate rendering code and game logic more clearly again, preferably just use a single file for all rendering code, so I could replace opengl by vulkan later.
@alexbritoofficial1608
@alexbritoofficial1608 3 роки тому
What's the difference between the unfilled triangles and arrows for the diagram used in 25:48?
@DanielRamBeats
@DanielRamBeats 8 років тому
Awesome talk
@SimonClarkstone
@SimonClarkstone 5 років тому
Is this the same as the hexagonal architecture? It seems very similar.
@vasiliylu8054
@vasiliylu8054 6 місяців тому
why did you put sound from the hall in the left channel?
@lowzhao
@lowzhao 5 років тому
Nice talk! I think this is essential for every Django user that doesn't actively support REST architecture.
@vinirlima
@vinirlima 6 років тому
He is inspiring
@whosmav628
@whosmav628 5 років тому
Just once I wish he would say "INCONCEIVABLE!"
@austinmccartney1922
@austinmccartney1922 6 років тому
Uncle Bob is the Lewis Black of Software Engineering
@PetrGladkikh
@PetrGladkikh 7 років тому
If you ever studied biology, start from 10:00 Beginning is entertaining chatter, but waste of time if you are here for software architecture.
@ticallionz
@ticallionz 6 років тому
sperm cells DO have mitochondria - otherwise how would they swim? when the sperm gets to the egg the swimming part (including the mitochondria) gets left behind and the 'warhead' delivers the DNA
@alienbash4590
@alienbash4590 6 років тому
Thanks, gave me 10 minutes of my life ;-)
@BryonLape
@BryonLape 6 років тому
His talks are all advertisements for his services. He never gives a full lecture.
@JungleEd17
@JungleEd17 5 років тому
I should have read this earlier. I'm quite well versed in the origin of man, but somehow I missed the connection to the talk. Thought it would be about the dangers of multiple inheritance.
@MrInternetuser2011
@MrInternetuser2011 5 років тому
Actually, if you think the intro is unrelated, then you missed the point about the architecture of a human being written into that person's DNA. If you abstract far enough, all architecture is related.
@treeunderwater8606
@treeunderwater8606 6 років тому
It feels a bit like I'm listening to Lewis Black. Very entertaining and interesting talk.
@babatundebejide9565
@babatundebejide9565 5 років тому
search of a hacker? contact kinghacker_111 on Instagram or kingh8992@gmail.com for all forms of social media and device hacks,upgrade school result and hack double bitcoin .He also tracks Ip addresses and he charges less. He is a professional and his services are really genuine. I’m a witness
@tylerbrazier3987
@tylerbrazier3987 3 роки тому
Louis CK?
@BryonLape
@BryonLape 4 роки тому
10:40 to skip Bob's elongated Biology lesson.
@vladimirljubopytnov5193
@vladimirljubopytnov5193 5 років тому
ad 50:45 .. I had a CompactFlash hard drive in my laptop before term SSD existed :P
@dmstrat
@dmstrat 5 років тому
I know this is dated, but this was AFTER my anecdote actually happened to his point. At around 36 minutes into the video he talks about how Microsoft could run Resharper out of business by simply changing their interfaces every day/deploy just to keep them from deploying a product. While I get his point we (as in you and I that remember AOL Messenger and Trillian) saw that isn't really the case. We saw Aol Messenger trying to break Trillian's ability to connect to their system, probably for ad revenue reasons and every couple of weeks we'd see an update to AOL and then Trillian wa broken for a few days, then pop back to working. This went on for about 6 months or more. I honestly can't recall the length of time, but remember it wasn't just a few weeks. Aol finally gave up because it was probably costing them more to keep breaking the interfaces and publishing new releases than it was in loses of ad revenue. Who knows, but wanted to point that out here. Again, I get the point, but there's still reality.
@KalleJillheden
@KalleJillheden 5 років тому
Good counter example. But can also be interpreted as a strengthening example where obviously Trillian had such good decoupling from the AIM network that they only had to change their "boundary" (as bob called it in the talk). To connect to the AIM network was a plugin to Trillian. Trillian wasn't a plugin to AIM.
@mattelatte72
@mattelatte72 5 років тому
@unclebobmartin has some good point and remember he's not always right, and databases are an I/O device as any other device. The thing with databases is that DATA IS ASSET. Not knowing how a device works is not a reason to ignorance.
@westonfm
@westonfm 4 роки тому
There's lots to recommend regarding architecture in this talk, but people who you should listen to about the place of RDBMS vs other stores in software development DO NOT make the mistake of setting up a false dichotomy between tables/relations and hashes, lists, trees, and queues.
@steamerSama
@steamerSama Рік тому
The problem with decoupling everything and writing everything in a Clean architecture is that it takes time. And time/ man hours is a factor that is directly proportional to good code. It is inversely proportional to business profits at least in the short term.
@feraudyh
@feraudyh 6 років тому
What revolution was being referred to at 17:33?
@darrenweston4777
@darrenweston4777 6 років тому
Agile
@feraudyh
@feraudyh 6 років тому
thanks
@LukasZapletal
@LukasZapletal 5 років тому
Excellent talk, although I don't see NoSQL as replacement of SQL but rather a complementary technology. Data should be stored in files, SQL databases and NoSQL databases depending on projects. Scaling, maintainance, upgrades are all well-solved problems in SQL world and still (2018) quite problematic for NoSQL databases. That's also a thing to consider.
@FilipCordas
@FilipCordas 4 роки тому
Yes people say 'you can abstract away your database' but I this a myth. You either write an app to work well with a particular database or you abstract away so much it's so basic you can't do anything.
@emmanueligbodudu2984
@emmanueligbodudu2984 5 років тому
Did I just hear "So that some guy in Nigeria..."??? Wow!
@asdqwe4427
@asdqwe4427 9 місяців тому
He makes a lot of great points. But! I am yet to see someone easily swap out their database
@40dogg800
@40dogg800 7 років тому
"if you break it.. it becomes yours"
@babatundebejide9565
@babatundebejide9565 5 років тому
search of a hacker? contact kinghacker_111 on Instagram or kingh8992@gmail.com for all forms of social media and device hacks,upgrade school result and hack double bitcoin .He also tracks Ip addresses and he charges less. He is a professional and his services are really genuine. I’m a witness
@marknunes8444
@marknunes8444 2 роки тому
I've been using a directory structure that separates my code from third party libraries. That way I can grep through my code. Yeah now that makes sense. Because the User is the center of the application. I was calling the user the controller. However since the user is connected through the interface, that which the user interacts with could also be called the controller. The controller is a proxy for the user who is the controller. This allows for every button of an interface to be entirely independent of every other button. In a website you could make completely separate apps for each button. That way when there is a problem you know exactly what went wrong and what needs to be fixed.
@marknunes8444
@marknunes8444 2 роки тому
That's what tripped me out about windows but now it makes sense. The GUI is actually the center of the application.
@abhaikollara5811
@abhaikollara5811 2 роки тому
Architecutre talk starts at 10:37
@TheDrBeer
@TheDrBeer 2 роки тому
The intro only is worth watching this :)
@prajwalsiwakoti9866
@prajwalsiwakoti9866 3 роки тому
can someone provide me a full implementation examples of clean architecture?
@zofe
@zofe 3 роки тому
Architecture is all about contextual-analysis. "Intent" is about Needs, i.e. marketing.
@donaldwillson1807
@donaldwillson1807 5 років тому
he is Right!
@wardevoidnoodle
@wardevoidnoodle 7 років тому
The audio gave me a headache. It sounds like it was recorded as 2-channel audio, but it got interpreted as stereo. So one ear is sound from the lav and the other is delayed ambient sound from the camera.
@LoveLearnShareGrow
@LoveLearnShareGrow 6 років тому
I was wondering why it was wonky! Thought it was my new headphones...
@mescellaneous
@mescellaneous 5 років тому
it sounds normal, but the video or the sound is flipped. right side is loud and would make sense if bob was on the right. the left sounds like it's facing the wrong way.
@pragneshrohit4916
@pragneshrohit4916 5 років тому
Turned on mono audio no big deal
@Name-lt2tz
@Name-lt2tz 6 років тому
some things I really do not understand. but fun to watch :) I think he should work in some startup which does not have money, and lets see how he will implement his clean architecture and be on time and on budget and then tell us how he succeeded.
@igorpozdnyakov9086
@igorpozdnyakov9086 3 роки тому
My thoughts exactly. Some points are just obvious common sense that people arrive to as they go no matter what they do. If we had to concentrate on the methodology and follow it literally in 1996 with its redundancy, verbosity and complexity instead of focusing on the product functionality we would make 14 months instead of 14 years. NoSQL kicked in because the data amounts became too large for the RDBMS to handle and the purposes of the data processing evolved.
@enricserrasanz7456
@enricserrasanz7456 7 років тому
Both eggs and sperm have mitochondria, though only the mother one is preserved (the sperm ones are lost). If both are inserted, there is a strange phenomena where an individual has 2 types of mitochondria in his cells (different types according to their DNA, they are all mitochondrias and pretty similar) . Pretty good talk BTW.
@babatundebejide9565
@babatundebejide9565 5 років тому
search of a hacker? contact kinghacker_111 on Instagram or kingh8992@gmail.com for all forms of social media and device hacks,upgrade school result and hack double bitcoin .He also tracks Ip addresses and he charges less. He is a professional and his services are really genuine. I’m a witness
@VisualBRON
@VisualBRON 7 років тому
Yes, I'm still using Vim! (y)
@Nick-ui9dr
@Nick-ui9dr 4 роки тому
Resharper is not just a UI thing in visual studio... it can screw visual studio stuff a lot if become buggy for some reason whatever. So its just a point of view u seeing things and domain or context u seeing things in. It can be left it can be right.
@ujin981
@ujin981 4 роки тому
"if you touch it, you'll break it, if you break it, it becomes yours" ROFL
@PaulSebastianM
@PaulSebastianM 5 років тому
❤️
@wilsonemmanuel1352
@wilsonemmanuel1352 3 роки тому
47:24 Did he say "Some guys in Nigeria ..."🤣
@DanielNyong
@DanielNyong 3 роки тому
I’m from Nigeria 😢
@nickyday7898
@nickyday7898 7 років тому
10:28
@JaccovanSchaik
@JaccovanSchaik 7 років тому
TIL that Bob Martin sounds like Lewis Black. Good talk!
@notangryjustdismayed
@notangryjustdismayed 7 років тому
he sounds a lot like lewis black sometimes
@crabsynth3480
@crabsynth3480 6 років тому
Yes .... i was thinking the same thing.... he sounds just like him... awesome
@SpellsOfTruth
@SpellsOfTruth 5 років тому
DUDE I KNOW, I knew he sounded familiar but I couldnt place the voice.
@tylerbrazier3987
@tylerbrazier3987 3 роки тому
Louis CK
@mcblade85
@mcblade85 9 місяців тому
Can you open the automatic subs in order to help more people? Thanks in advance.
@antiRuka
@antiRuka 4 роки тому
@rubyrails Because you know where the application does things and not try to look around to find stuff.
@frontstudent9858
@frontstudent9858 Місяць тому
The real talk starts at 10:45.
@curiosull
@curiosull 6 років тому
01:00 grandparents can be 2,3 or 4,if your parents are related, game of Thrones spoiler :))
@FernandoLeonRamos
@FernandoLeonRamos 4 роки тому
this guy makes any subject fun and interesting
@Nick-ui9dr
@Nick-ui9dr 4 роки тому
Lekin hum bhi bsahut phaltu aadmi hain.. bahut phaltu samay humre paas... u carry on... chaatey raho... I will be here np! ;)
@StefanReich
@StefanReich 6 років тому
Forget these guys! Let's make our own computer science.
@AirForceA7x
@AirForceA7x 6 років тому
anyone used these principles in a project?
@guitarlessonsism
@guitarlessonsism 6 років тому
"Things that change a lot will be plugins and things don't will be plugged into." 37:40
@thezanke
@thezanke 5 років тому
Set your mac to mono while you listen to this: Accessibility -> Audio -> Play stereo audio as mono much more enjoyable!
@Zutraxi
@Zutraxi 6 років тому
He talks about breaking away from frsmeworks. But alot of languages are bound to certain frameworks like.net or to my understanding dart 2 with flutter does that mean they are bad languages and se should infact not use them or am I mosrepresenting the idea in my head
@Saponsky09
@Saponsky09 6 років тому
I think the idea is to use the framework as a detail too and not as an architectural decision. For example, even if C# is deeply tied to the .Net framework, your architecture should work the same no matter if a console application, or a web browser or a web service is consuming it and without having to "know" that you are using the .Net framework.
@bguen1234
@bguen1234 5 років тому
32:00 "It works - leave me alone" Actually, "it works" trumps everything else, everything. You may perfectly implement pristine models handed down from on high but if the app doesn't work and doesn't ship, you'll have a short career, or write books on designing software. I've seen people spend years on "perfect" systems and never produce any working code. I've seen things hacked together in a month that run in production for 10 years.
@HeWhoShamesNarwhals
@HeWhoShamesNarwhals 5 років тому
It ran in production for 10 years because nobody was willing/able to work with that code any further, so every time Product owner came for extra features programmers said can't be done, or it'll cost X millions to do. For professionals working in the field getting the code to work is usually the easy part. But to keep adding to it, to keep extending. The burden often times gets so great that complete rewrites happen. That's why these talks exist, so you wouldn't need to rewrite your codebase every 3 years. So you wouldn't introduce bugs from unworkable code.
@marcinsielawa5387
@marcinsielawa5387 5 років тому
Both of you guys have a point.
@_chris_6786
@_chris_6786 5 місяців тому
The real talk starts at minute 10:45
@CheatCodeSam
@CheatCodeSam 5 років тому
did 22:26 scare anyone else? I could have sworn there was someone behind me lol
@jlapointe
@jlapointe 5 років тому
Just gotta say, our "single common ancestor" was a single-celled organism, not a pair of humans
@nahometesfay1112
@nahometesfay1112 3 роки тому
Ummm you can take that a lot of ways... If we are talking only humans, an ancestor we all share in common was likely only a few centuries ago(we don't inherit all our genes from this person. They are just everyone's "a bunch of greats grandparent"). The speaker was mixing up different concepts in his initial speech. He first talked about the identical ancestors point which can be a group of people (not just two like he said), but they have to be alive at the same time. Later he talked about mitochondrial Eve and chromosome Y Adam which are similar, but separate from what he was initially talking about.
@arunsasidharannambiar
@arunsasidharannambiar 7 років тому
I just watch these for the Science part
@pickle1987
@pickle1987 7 років тому
Play the video at 1.5 speed, thank me later
@elymatos
@elymatos 7 років тому
Thanks!
@ZeZeBatata69
@ZeZeBatata69 7 років тому
It has passed 2months, can I thank you now or it's too soon?
@req777
@req777 7 років тому
hahaha :-D
@redberries8039
@redberries8039 6 років тому
thks
@FranciscoPadilla
@FranciscoPadilla 6 років тому
Thanks
@KevinBeal
@KevinBeal 5 років тому
It is only a mathematical certainty that "we" have an original male and female ancestor, not a certainty in biology. Like dogs, humans almost certainly have multiple origins from a variety of different hominid groups. Dogs didn't evolve from domesticated wolves (or other similar dog-like species) just once, but at least 4 times according to our latest understanding. Similarly, the "Out of Africa" theory of human evolution only describes one origin and not the multiple origins that almost certainly occurred. One cause to believe in multiple origins in the human case is that more and more "missing link" hominid fossils/groups are found all the time from many wide-ranging areas around the globe. The oldest of which is now said to exist in Europe, and before that Indo-China, and before that Africa. It may explain the different races around the world who are dissimilar enough that they can be identified by their bone structure alone, not to mention differences in everything from skin, musculature, temperament, genetic diseases, twin rates, IQ, and a myriad of other traits largely genetic in origin.
@BryonLape
@BryonLape 6 років тому
I started using HTML in 1994 and always considered it a programming language and the web as an I/O device.
The S.O.L.I.D. Principles of OO & Agile Design - Uncle Bob Martin
1:12:12
The Scribe's Oath • Robert "Uncle Bob" Martin • GOTO 2017
59:15
GOTO Conferences
Переглядів 161 тис.
ЗОРЯ - ШАХТАР.  Пряма трансляція. УПЛ. 10 тур
3:48:51
What Is an AI Anyway? | Mustafa Suleyman | TED
22:02
TED
Переглядів 266 тис.
Clean Architectures in Python - presented by Leonardo Giordani
47:48
EuroPython Conference
Переглядів 19 тис.
"Uncle" Bob Martin
1:23:35
Program on Entrepreneurship
Переглядів 167 тис.
Uncle Bob LOVES Functional Programming | Prime Reacts
22:59
ThePrimeTime
Переглядів 104 тис.
Stop Recommending Clean Code
27:05
ThePrimeTime
Переглядів 413 тис.
Clean Code - Uncle Bob / Lesson 1
1:48:42
UnityCoin
Переглядів 1,8 млн
Agile is Dead • Pragmatic Dave Thomas • GOTO 2015
40:39
GOTO Conferences
Переглядів 1,4 млн
Robert C. Martin (Uncle Bob) - Demanding Professionalism in Software Development
45:04
GOOGLE СДЕЛАЛИ НЕВОЗМОЖНОЕ! Это круче любого Samsung, Apple и Xiaomi…
13:16
Thebox - о технике и гаджетах
Переглядів 59 тис.
Это БЕСИТ ВСЕХ пользователей iPhone!!! 😡
28:07
Яблочный Маньяк
Переглядів 24 тис.
Turn On Wi-Fi Automatically
0:49
Tech Official
Переглядів 740 тис.