|
Actually, yes. At this very moment, but there are no war stories yet. I have not been working on this project for too long yet.
And for a second I feared you were asking about Dalek Dave's Donuts.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
Dang! You beat me to it. I was gonna say:
We haven't even used DD since he left us.
... such stuff as dreams are made on
|
|
|
|
|
And I would not put it beyond him to have given up politics in favor of producing and selling donuts.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
Would be a step in the right direction.
... such stuff as dreams are made on
|
|
|
|
|
Would you eat sausage donut from CMOT Dibbler Dave?
|
|
|
|
|
|
I don't quite see the worrysome part...
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
DD is clearly branching out into the Policeman's favourite food, in hopes of using them to force an successful outcome in his next election attempt!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I suppose it's a stupid question, but isn't DDD rather implicit? I mean, if I'm asked to write software for an ATM (the domain), I'm not going to write software for some other domain, like landing the shuttle, right?
From Wikipedia:
- placing the project's primary focus on the core domain and domain logic;
- basing complex designs on a model of the domain;
- initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.
Isn't that defacto? How would you do anything other?
Marc
|
|
|
|
|
I suppose the key differential is really domians rather than one domain - i.e. splitting your application/system up (even at the analysis stage) into logical business domains and only allowing communication between domains through well defined channels.
So - not one big data model to rule them all.
|
|
|
|
|
Duncan Edwards Jones wrote: i.e. splitting your application/system up (even at the analysis stage) into logical business domains and only allowing communication between domains through well defined channels.
Aye matey, that be the ticket.
And amusingly, when doing just that (working with different hardware is one way to easily define domains) and having created a plug-in architecture with a multi-threading capable publisher-subscriber as the communication channel, the CTO said it was too complicated for the junior devs to maintain, and code must be maintainable by junior devs. So it got tossed out, replaced by a monolithic architecture that, granted, used streams for communication, but lost all capability for logging, threading, modularity, unified exception handling, etc.
Which is why tomorrow is my last day at that job!
Marc
|
|
|
|
|
Hopefully it's opposed to CDD (Consultant Driven Development)
|
|
|
|
|
Yes, Marc. That was exactly my reaction.
We think a software project is all about applying the best technology and practices, but it's first and foremost an educational exercise in context modelling - within us.
We have to build the contexts in our minds, then manifest them in the design structure.
That's what all those pesky things like specs, use-cases and design documents were intended to accomplish in the old waterfall methodology.
Yes that methodology is dated. It is plodding and meticulous work and management really never saw the profit in taking all that time to essentially write documents, but it ensured at least that the people coding knew what the elephant they were doing and what the elephanting goal was!
LOL Oh my. I didn't set out to rant. My hands just took over!
Cheers,
Mike Fidler
"I intend to live forever - so far, so good." Steven Wright
"I almost had a psychic girlfriend but she left me before we met." Also Steven Wright
"I'm addicted to placebos. I could quit, but it wouldn't matter." Steven Wright yet again.
|
|
|
|
|
1 Learn about "TDD"
2 Learn about "DDD"
3 Learn about "Agile"
4 Do job interview where you discuss the pros and cons of above
5 Start job
6 Use whatever NuGet packages have been shoehorned into the solution and your own framework as you don't like the 10 other frameworks the 10 previous devs have used, and all under Waterfall management that thinks it's Agile because they use JIRA.
|
|
|
|
|
F-ES Sitecore wrote: all under Waterfall management that thinks it's Agile because they use JIRA.
Been there!
Marc
|
|
|
|
|
I've used Drunken Driven Design before, it's not all that. It's OK if you don't mind rewriting incomprehensible code.
It was broke, so I fixed it.
|
|
|
|
|
We are using it for one big 'field' of application(s) which share the same domain knowledge.
In general it's a good experience, mostly because all people involved commit themselves
to use (more or less) the same naming of the objects of the domain (I don't only mean 'object'
in terms of software, but also in the 'real world').
So even talking to management or to a salesman makes sense because there is kind of a common knowledge base.
Another big advantage is, that it's the first time I actually see code/projects really being
reused in different applications. But then, the reason for this may not be DDD, but a good design
|
|
|
|
|
Duncan Edwards Jones wrote: any experience (pro or con) to share?
Cons =>
- More costly to setup, building the boilerplate stuff. Not worth for small and fast projects.
- It's difficult to design it with high performance on application heavily dependent on data. Complex domain models that require a lot of data to make it function may require a lot of data that can take some time to fetch from the database. At this point it's very important to analyze how to feed the domain model, as it should be clearly without dependencies, including data layer, as the application core.
Pros =>
- Although an initial setup may be a little more complex than a simple active record pattern or DB Oriented design, as the business complexity raises with new requirements, the complexity of the domain model increases at a similar rate when done properly. Other patterns tend to get exponentially complex and get very difficult to maintain as the business grows.
- Design focuses on the business problems, not on infrastructural restrictions (like relational database models), which can make your life a whole lot easier accommodating complex business rules and it's highly adaptable to business rule changes.
- Easy to maintain, very low coupling and a very high rate of reusable code, which helps preventing colateral damage (bugs) when something changes on the business. Here's where you can leverage the most of Object Oriented Programming and its benefits.
- Easy to couple with TDD. With a clear independence from UI, DB and other layers, you can focus on developing unit tests on the business logic, to ensure the core stays intact after domain changes.
- Having both data and behavior on the same object, it's much easier to implement SOLID principles and I specially like the separation of concerns it provides. Classes can be very concise, compact, easy to read, understand and use.
Well that's my experience designing DDD applications.
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson
Our heads are round so our thoughts can change direction - Francis Picabia
|
|
|
|
|
If you don't hear from me again, it's 'cos the wife has exterminated me.
The ADSL line comes into my office, as the nearest point to the outside world that the local telco will install to. The house, about twenty meters further into the property, has been connected by WiFi for years, and it has worked perfectly, but two weeks ago the house WiFi started to slow down - after a torrential downpour which thoroughly soaked the tree lying in the line of sight, after a long dry summer.
I moved the house WiFi to a better spot, minimizing the tree interference, and all went well to start with. Now, however, a download in the house starts at around 750 kBps, and then gets slower and slower, until at around 50 kBps it stops completely.
I am not too surprised about the tree interference, as the tree gets bigger and thicker every year, but I am completely stumped as to why I should now be getting this slow down and stop. I even replaced the repeater/extender today, with no change. It can't be the access point in the office as that downloads as expected.
Any ideas?...or I shall be sacrificed to the beast of nomovies.
|
|
|
|
|
Is a burial run between the office and house completely out of the question? It could be the trees, signal reflection from different surfaces, or even an interference pattern from all the wonderful radio-enabled devices that are floating around these days.
20m of conduit (maybe an burial-grade PVC), about 50m of CAT6 (depending on how you fish it), and some digging. A couple of gang boxes with RJ-45 jacks.
Sounds like a fun weekend to me!
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
And bright yellow warning tape a foot above the cables!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
If I attempted to dig up 20 meters of carefully laid crazy paving, my fate would be far worse than anything I might suffer due to no Internet for the distaff side of the family.
|
|
|
|
|
What does WiFi Analyzer[^] say? Is the signal poor, or does it get poorer over time? Any other local traffic switched onto your channel?
Basically, is it the WiFi, the ADSL, the phone connection, or the ISP that's causing this? I'd suspect the tree is a red herring, though it may mean the underground / overhead cables got soaked as well and that affects the signal.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
OriginalGriff wrote: What does WiFi Analyzer[^] say?
Thanks for this. I'm going to try that later.
|
|
|
|
|
That's the problem - signal strengths are all very workable, but the signal, apparently, is not!
|
|
|
|
|