70
votes
How is Agile model more flexible than the Waterfall model?
While it's been massively subverted over the years, the idea behind agile isn't that you deliver the same set of features faster. It's that you get things out to your users for feedback quicker and ...
51
votes
Accepted
What advantage was gained by implementing LINQ in a way that does not cache the results?
What advantage was gained by implementing LINQ in a way that does not cache the results?
Caching the results would simply not work for everybody. As long as you have tiny amounts of data, great. Good ...
42
votes
How is Agile model more flexible than the Waterfall model?
I think experts generally accept that "Waterfall" is a stereotype of certain ineffectual development practices.
From the 60s into the 90s, I dare say the vast majority of software ...
38
votes
Accepted
What does the author mean by casting the interface reference to any implementation?
Abstracting your class into an interface is something you should consider if and only if you intend on writing other implementations of said interface or the strong possibility of doing so in the ...
30
votes
What does the author mean by casting the interface reference to any implementation?
The accepted answer is correct and very useful, but I would like to briefly address specifically the line of code you asked about:
ISomeClass myClass = new SomeClass();
Broadly speaking, this isn't ...
30
votes
How is Agile model more flexible than the Waterfall model?
But Waterfall also lets you do the same thing (go back to the design
and then write the code for it)
Not really. Agile is a reaction to big project management. So the waterfall they are talking about ...
29
votes
Accepted
Can Just-In-Time compilation be considered a secure feature?
JIT compilation is risky because of the W^X violation: at runtime, it is possible to generate new code, similar to an eval() in dynamic languages. But being able to dynamically generate executable ...
25
votes
What advantage was gained by implementing LINQ in a way that does not cache the results?
What advantage did Microsoft hope to gain by implementing it this way?
Correctness? I mean, the core enumerable can change in between calls. Caching it would produce incorrect results and open the ...
16
votes
Implementing DDD: users and permissions
I have run into the same questioning and am posting the answer I have come up with because it might give some additional vision on the topic, even though the discussion took place a while ago (still ...
15
votes
Implementing DDD: users and permissions
Authentication and Authorisation is a bad example for DDD.
Neither of these things are part of a Domain unless your company creates security products.
The Business or domain requirement is, or ...
14
votes
How is Agile model more flexible than the Waterfall model?
I think it's important to understand that the idea of the waterfall process, as most people understand it, was an error. I don't know exactly what went wrong but if you read the original waterfall ...
12
votes
How is Agile model more flexible than the Waterfall model?
The difference is what "in the middle of development" means.
The Manifesto for Agile Software Development was a response to heavyweight, documentation-driven, command-and-control processes. ...
11
votes
How are "registers" implemented in VMs?
JVM and .NET both employ "JIT"'s.
These JITs take their respective byte code (both stack-based) and translate them into machine code for the processor they're on. Thus, the same hardware that ...
10
votes
Does the implementation of GDPR compliance per site make sense in terms of good practises?
GDPR is about end-to-end privacy. There's no way to implement it only on the browser's side. Every site has to do the work to make sure the personal information is treated with respect for privacy, ...
10
votes
How is Agile model more flexible than the Waterfall model?
This might be a subtle thing to point out, but I believe it lies at the heart of understanding the difference between agile and waterfall:
But, in the middle of development, someone changes their ...
8
votes
Can Just-In-Time compilation be considered a secure feature?
For programs written in some high-level language, there is always an execution environment necessary. This can be a Just-in-Time compiler, an Ahead-of-Time compiler, an interpreter, or a combination ...
7
votes
Accepted
Implementing DDD: users and permissions
It's sometimes difficult to distinguish between real access control rules and domain invariants borderlining on access control.
Especially, rules that depend on data only available far into the ...
7
votes
Is implementations not being interchangeable and having to cast often a code smell?
How can I avoid these castings and improve the app's design?
This looks like a candidate for use of generic types. A generic base could be written to provide basic workflow, though taking a type ...
7
votes
Accepted
Forth: How do CREATE and DOES> work exactly?
So, I'm a little late to the game, but these questions (particularly about DOES>) were mystifying me as well, being new to Forth. Here is what I've learned and how I've implemented it:
[TL;DR: "...
7
votes
Use case for interface
If we don't know about [the] implementation, just the requirement specification, then go for interface.
What that means is that you can sketch out an architecture by designing and writing the ...
7
votes
Java interface design: where should I put a lot of duplicate code that will be used by all subclasses?
Java interface design: where should I put a lot of duplicate code that will be used by all subclasses?
First, this is not interface design. This is implementation detail. Nothing outside Tuple needs ...
6
votes
Accepted
Should quickselect modify the input array or not?
I would normally expect
The algorithm makes a copy of the input array and fiddles with the copy.
However, you might have very good reasons to go the other way:
The array is very large and ...
6
votes
Accepted
How do you usually implement right triangles in programming
There is no "common approach", because this is not a requirement occuring so frequently that it needs a special standard. So pick a solution which suits your needs like the one you suggested:
{x, y,...
6
votes
What is the definition of implementation in programing languages? What is CPython?
Think about how a human language works. In theory, there's some kind of document(s) that lays down what the rules are for what constitutes "English". There's a set of definitions for words, ...
6
votes
Java interface design: where should I put a lot of duplicate code that will be used by all subclasses?
It depends, but the usual alternatives are
make it a static member of a separate utility class
make it a member of a separate class (you will have to instantiate an object of that class somewhere)
...
5
votes
Forth: How do CREATE and DOES> work exactly?
Answering your questions in order.
CREATE may allocate a new, empty data space. It then sets the "data field" of the new dictionary entry to HERE and the execution semantics to push the value of ...
5
votes
Anti-pattern? Double header and exposed implementation detail
What “multi-threading” are you using that makes malloc inefficient? Typically allocation and deallocation on the same thread has zero overhead and is a lot easier to handle than stack allocation.
Just ...
5
votes
Vanilla interface implementations. What should I call it?
While I think this is fundamentally opinion-based, here is how I would approach the problem.
Typically, you base your naming on some characteristic features of your type.
You are on the right track. ...
4
votes
Method requires concrete implementation of collection. Should I change all upstream methods to return concrete implementations?
I suggest adding a method to the library that populates a caller-supplied empty Map from the supplied query.
Keeping things DRY, the getStrIntMap method would invoke this other method passing in a ...
4
votes
Forth: How do CREATE and DOES> work exactly?
Download the book: Thinking Forth here...
https://sourceforge.net/projects/thinking-forth/files/reprint/rel-1.0/thinking-forth.pdf/download?use_mirror=gigenet&download=
A cleaner explanation is ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
implementations × 108design × 21
interfaces × 20
java × 12
c# × 11
c++ × 9
algorithms × 7
design-patterns × 6
python × 5
c × 5
programming-languages × 4
inheritance × 4
headers × 4
architecture × 3
object-oriented × 3
api-design × 3
data-structures × 3
requirements × 3
efficiency × 3
specifications × 3
javascript × 2
object-oriented-design × 2
programming-practices × 2
web-development × 2
.net × 2