Hot answers tagged

68

UPDATE: I've revised this answer. A number of good points were raised in the comments that deserved calling out. If my class implements an interface then can I say that I'm following inheritance? It is not entirely clear what you mean by "following inheritance". Let's ask a slightly different question? What is inheritance? When members of one ...


22

Inheritance means writing a new subclass for a superclass. Writing a new class against an interface is implementing that interface. (And writing a new interface based on an old one is extending that interface.) The only correct term that applies to all three possibilities is subtyping. Not every subtype is a subclass.


4

The principle you're defending is that of a "Single Source Of Truth". The corresponding antipattern doesn't have such a general name. Violating DRY ("don't repeat yourself") is sometimes called WET ("write everything twice"). In databases, violating normal form is called denormalization (and is sometimes good practice when trading off time versus space). ...


4

Non-interactive command Interactive command REPL Windowed / screen application I don't have a source for that; just years of hearing them called the same way. I'll see if I can find an authoritative source.


4

Business Domain refers to real-world aspects of your solution (e.g. Healthcare, Aviation, Finance, Military, Retail, etc). The business domain informs your requirements and acceptance criteria for the system; it can be suggestive of a very high-level form of segregation for different areas. For example, if you happen to be building a solution for a ...


4

If by compiler error, you mean syntax errors then yes they are. Console also gives the runtime error as for example, when trying to access an undefined property of some object at the runtime. JavaScript is an interpreted language so we cannot call them compiler errors but instead parsing errors. Browser console shows us the following: Syntax errors at ...


2

You're probably looking for "Syntax error". The linked Wikipedia article says about this: For compiled languages syntax errors occur strictly at compile-time. A program will not compile until all syntax errors are corrected. For interpreted languages, however, not all syntax errors can be reliably detected until run-time, and it is not necessarily ...


2

Top Down is when you take the whole problem and break it down into smaller and smaller problems until you get to the bottom where you have lots of actual implementation details. Bottom Up is when you create lots of small, detailed building blocks that are generally useful and that can be assembled together to solve larger and larger problems. Top down is ...


2

I think top down aproach are more a re-design than a mere refactoring. From my experience refactors are usualy somehow a re-organization of the existing code. Its a low scale re-design. So you get complexe features that already meet their proposals but are not flexible enough and hardly re-usable. And you split its feature into small subprocess. The best ...


2

Already lots of impressive references in the comments! But let's try to do it short: Module: a self-contained piece of software (e.g. types, data structure, functions), that can be combined with other modules to construct a more complex software. References that support this definition: In 1978, it was proposed to introduce modules for Algol68, in ...


2

Shell, script, or application there are two different classifications here: Interactive and non-interactive An interactive shell reads commands from user input A shell running a script is always a non-interactive shell. All the same, the script can still access its tty. It is even possible to emulate an interactive shell in a script. ... ...


2

Single source of truth In information systems design and theory single source of truth (SSOT), also known as single point of truth (SPOT) refers to the practice of structuring information models and associated schemata such that every data element is stored exactly once (e.g., in no more than a single row of a single table). Any possible linkages ...


1

Just a plain old Web browser. That's about it. Generally, when something is the norm it doesn't have a special name.


1

With subclasses, you inherit state of the superclass (all instance variables, whether you see them or not) inherit actual implementations (all non-abstract methods) With interfaces, you fullfill a contract by implementing the declared methods. That's the classical way to look at it. Now with Java 8 the interfaces become a mixture: you still don't ...


1

Let's examine a simple architecture: Database <--> DAL <--> BL <--> Controller <--> ViewModel <--> View The layer that's going to contain your "business objects" is your DAL (Data Access Layer). Traditionally this is an ORM; it maps the tables in your database to objects in your programming language. The BL (Business Logic) ...


1

There are two theories about where the term "leak" and other liquid based analogies for memory originated. In the ENIAC, and in very old systems, memory was stored in circulating mercury, something called a mercury delay line. Information was represented as a charge in a portion of mercury that circulated around tubes. The charge was read when that part of ...



Only top voted, non community-wiki answers of a minimum length are eligible