Reputation
12,047
Top tag
Next privilege 15,000 Rep.
Protect questions
Badges
3 42 66
Newest
 Enlightened
Impact
~171k people reached

Jul
2
comment Is A Language-Integrated Build System Generally Desirable?
You almost have a good question, but then it falls down at the "wanting input from lots of people" portion. This is a poll for opinion and request for discussion. This site is meant to have questions requesting authoritative answers. You might be able to restructure your question (you should definitely slim it down - your context is all simply begging for discussions rather than answers)
Jul
1
awarded  Enlightened
Jul
1
awarded  Nice Answer
Jul
1
awarded  design
Jun
30
comment IoC/DI design for class library
@cosmo0 note, the only part of the system that references the container is the root. Everywhere else in the dependency graph, constructors take interfaces for their dependencies, and have no idea or care whether they're constructed manually (like my first example), or by a container (like my second example). All they know is they need an IBla at construction, and someone gives it to them.
Jun
30
comment IoC/DI design for class library
@cosmo0 no. You're replacing it with tight coupling to an interface - which isn't tight coupling at all. The root is the only place with tight coupling, but that point in the process is where the "process" that's going to run is defined, so it's scope is basically everything that process should do anyway. If the scope of one assembly is "Handle account related data retrieval from DB", it should not reference any UI forms assemblies. But an assembly whose scope is "Load everything into a process and execute the process", can and will reference everything. Ergo, that's the root.
Jun
30
revised IoC/DI design for class library
added 489 characters in body
Jun
30
revised IoC/DI design for class library
added 489 characters in body
Jun
30
answered IoC/DI design for class library
Jun
19
comment Is it good practice to implement two Java 8 default methods in terms of each other?
Just because each function can be defined in terms of the other does not imply that they can both be defined in terms of each other. That doesn't fly in any language. You want an interface with 2 abstract inheritors, each implements one in terms of the other but abstracts the other so implementors choose which side they want to implement by inheriting from the correct abstract class. One side must be defined independent of the other, or else pop goes the stack. You have insane defaults presuming implementors will resolve the issue for you, abstract exists to force them to resolve it.
Jun
13
comment Expectations on a programmer too high?
You suggest a "web developer" should know a lot of things that frankly, web developers neither do often know, nor need to know. These expectations are wrong, the only person you'll get to meet them will be a very strong senior level engineer, or - more likely - someone who managed to lie to you without you knowing it. Generally you'll want at least two developers to fulfill that broad spectrum of front and back end technologies. Anything else and you're going to get someone who's lying or out of your price range.
Jun
4
comment What can go wrong if the Liskov substitution principle is violated?
@user949300 The success of any piece of software to accomplish it's job is no measure of it's quality, long-term, or short-term costs. Design principles are attempts at bringing about guidelines to reduce long-term costs of software, not to make software "work". People can follow all the principles they want while still failing to implement a working solution, or follow none and implement a working solution. Though java collections may work for many people, that does not mean the cost to work with them in the long run is as cheap as it could be.
May
29
comment Is it worth it to use a message-queue framework in this case?
Look into the concept of timers. This is really not the right thing for a queue, operating systems have for a long time had the ability to schedule events and most languages have some form of abstraction over this ability often referred to as a "Timer", though sometimes having other names. The concept is you set the timer to go off in a period, and you direct the timer as to what it will execute - or what signal it will flip when the alotted time has passed. The OS will handle it from there signalling to your process to execute the code at the appropriate time.
May
18
revised How do I override the Type of members in a base class from the derived class?
added 120 characters in body
May
18
revised How do I override the Type of members in a base class from the derived class?
Replaced entire lot of nonsense
May
18
revised How do I override the Type of members in a base class from the derived class?
Replaced entire lot of nonsense
May
16
revised At what size of data does it become beneficial to move from SQL to NoSQL?
edited tags
May
16
revised pre aggregating documents mongodb
edited tags
May
16
revised Content CDNs and dynamic content
edited tags
May
16
revised Is this what “Cloud-Scaling” is?
edited tags