- Classes & Objects
- Domain Experts
- Architects
- Database Schemata
- Long-term stable structure
- Form
Software architecture encompasses the set of significant decisions about the organization of a software system including the selection of the structural elements and their interfaces by which the system is composed; behavior as specified in collaboration among those elements; composition of these structural and behavioral elements into larger subsystems; and an architectural style that guides this organization. Software architecture also involves functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology constraints, tradeoffs and aesthetic concerns.
Philippe Kruchten, Grady Booch, Kurt Bittner, and Rich Reitman
The highest-level breakdown of a system into its parts; the decisions that are hard to change; there are multiple architectures in a system; what is architecturally significant can change over a system's lifetime; and, in the end, architecture boils down to whatever the important stuff is.
Patterns of Enterprise Application Architecture, Martin Fowler
require "test/unit" | |
require "./IntegerArrayToString.rb" | |
class Suite < Test::Unit::TestCase | |
Array.include IntegerArrayToString | |
def test_GetArrayAsString | |
randomNumber = Random.new.rand(1..100) |
(* | |
F# Game of life | |
Philip Jander | |
@ph_j | |
2015 | |
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. | |
https://creativecommons.org/licenses/by-nc-sa/3.0/ | |
*) |
class Chain<T> { | |
private Chain() { } | |
private readonly List<T> _Chain = new List<T>(); | |
public static Chain<T> Start => new Chain<T>(); | |
public Chain<T> this[T This_] { | |
get { this._Chain.Add(This_); return this; } |
var BlackBox = function() { | |
var self = this; | |
self._events = []; | |
self.Record = function(event) { | |
self._events.push(event); | |
self.Recorded(event); | |
}; |
var getWeek = function() { | |
var a = Math.floor((14 - (this.getMonth())) / 12); | |
var y = this.getYear() + 4800 - a; | |
var m = (this.getMonth()) + (12 * a) - 3; | |
var jd = this.getDate() - 2 + Math.floor(((153 * m) + 2) / 5) + (365 * y) + Math.floor(y / 4) - Math.floor(y / 100) + Math.floor(y / 400) - 32045; | |
^ Offset auf Montag | |
var d4 = (jd + 31741 - (jd % 7)) % 146097 % 36524 % 1461; |
- Qualität von Anfang an (Build Quality In)
- Verschwendung vermeiden (Eliminate Waste)
- Wissen erzeugen (Create Knowledge)
- Entscheidungen so spät wie möglich (Defer Commitment)
- Schnelles Liefern (Deliver Fast)
- Respekt (Respect People)
- Das Ganze optimieren (Optimize The Whole)
- Sortiere aus Obsolete Dateien, Software usw. auf Arbeitsplatzrechnern und Server finden und entfernen oder archivieren.
- Sauberkeit Den virtuellen und realen Arbeitsplatz säubern.
- Systematisierung Ordner-Strukturen auf Arbeitsplatzrechnern und Servern vereinheitlichen.
- Standardisierung Strukturen automatisiert anlegen, Coding-Richtlinien festlegen.
- Selbstdisziplin Die Vorgehensweise leben.
<template> | |
<div class="filtered-table"> | |
<table> | |
<thead> | |
<tr class="columns"> | |
<th v-for="column in columns" :key="column.name" class="column">{{ column.text }}</th> | |
</tr> | |
<tr class="filters"> | |
<td v-for="column in columns" :key="column.name" class="filter"> | |
<input @input="column.setTerms($event.target.value)"/> |