{
  "code": null,
  "collection": "architecture-category",
  "href": "https://banes-lab.com/ontology#architecture-category-contracts-interfaces-compatibility",
  "id": "contracts-interfaces-compatibility",
  "kind": "category",
  "layer": null,
  "name": "Contracts / Interfaces / Compatibility",
  "ref": "architecture-category:contracts-interfaces-compatibility",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-design-by-contract",
          "json": "https://banes-lab.com/json/records/architecture/design-by-contract",
          "label": "Design by Contract",
          "markdown": "https://banes-lab.com/records/architecture/design-by-contract.md",
          "ref": "architecture:design-by-contract"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-explicit-contracts",
          "json": "https://banes-lab.com/json/records/architecture/explicit-contracts",
          "label": "Explicit Contracts",
          "markdown": "https://banes-lab.com/records/architecture/explicit-contracts.md",
          "ref": "architecture:explicit-contracts"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-stable-interfaces",
          "json": "https://banes-lab.com/json/records/architecture/stable-interfaces",
          "label": "Stable Interfaces",
          "markdown": "https://banes-lab.com/records/architecture/stable-interfaces.md",
          "ref": "architecture:stable-interfaces"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-interface-based-design",
          "json": "https://banes-lab.com/json/records/architecture/interface-based-design",
          "label": "Interface-Based Design",
          "markdown": "https://banes-lab.com/records/architecture/interface-based-design.md",
          "ref": "architecture:interface-based-design"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-contract-first-design",
          "json": "https://banes-lab.com/json/records/architecture/contract-first-design",
          "label": "Contract-First Design",
          "markdown": "https://banes-lab.com/records/architecture/contract-first-design.md",
          "ref": "architecture:contract-first-design"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-api-contract",
          "json": "https://banes-lab.com/json/records/architecture/api-contract",
          "label": "API Contract",
          "markdown": "https://banes-lab.com/records/architecture/api-contract.md",
          "ref": "architecture:api-contract"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-service-contract",
          "json": "https://banes-lab.com/json/records/architecture/service-contract",
          "label": "Service Contract",
          "markdown": "https://banes-lab.com/records/architecture/service-contract.md",
          "ref": "architecture:service-contract"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-data-contract",
          "json": "https://banes-lab.com/json/records/architecture/data-contract",
          "label": "Data Contract",
          "markdown": "https://banes-lab.com/records/architecture/data-contract.md",
          "ref": "architecture:data-contract"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-schema-contract",
          "json": "https://banes-lab.com/json/records/architecture/schema-contract",
          "label": "Schema Contract",
          "markdown": "https://banes-lab.com/records/architecture/schema-contract.md",
          "ref": "architecture:schema-contract"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-semantic-contracts",
          "json": "https://banes-lab.com/json/records/architecture/semantic-contracts",
          "label": "Semantic Contracts",
          "markdown": "https://banes-lab.com/records/architecture/semantic-contracts.md",
          "ref": "architecture:semantic-contracts"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-preconditions",
          "json": "https://banes-lab.com/json/records/architecture/preconditions",
          "label": "Preconditions",
          "markdown": "https://banes-lab.com/records/architecture/preconditions.md",
          "ref": "architecture:preconditions"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-postconditions",
          "json": "https://banes-lab.com/json/records/architecture/postconditions",
          "label": "Postconditions",
          "markdown": "https://banes-lab.com/records/architecture/postconditions.md",
          "ref": "architecture:postconditions"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-invariant",
          "json": "https://banes-lab.com/json/records/architecture/invariant",
          "label": "Invariant",
          "markdown": "https://banes-lab.com/records/architecture/invariant.md",
          "ref": "architecture:invariant"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-backward-compatibility",
          "json": "https://banes-lab.com/json/records/architecture/backward-compatibility",
          "label": "Backward Compatibility",
          "markdown": "https://banes-lab.com/records/architecture/backward-compatibility.md",
          "ref": "architecture:backward-compatibility"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-forward-compatibility",
          "json": "https://banes-lab.com/json/records/architecture/forward-compatibility",
          "label": "Forward Compatibility",
          "markdown": "https://banes-lab.com/records/architecture/forward-compatibility.md",
          "ref": "architecture:forward-compatibility"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-versioning",
          "json": "https://banes-lab.com/json/records/architecture/versioning",
          "label": "Versioning",
          "markdown": "https://banes-lab.com/records/architecture/versioning.md",
          "ref": "architecture:versioning"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-protocol-compatibility",
          "json": "https://banes-lab.com/json/records/architecture/protocol-compatibility",
          "label": "Protocol Compatibility",
          "markdown": "https://banes-lab.com/records/architecture/protocol-compatibility.md",
          "ref": "architecture:protocol-compatibility"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-interoperability",
          "json": "https://banes-lab.com/json/records/architecture/interoperability",
          "label": "Interoperability",
          "markdown": "https://banes-lab.com/records/architecture/interoperability.md",
          "ref": "architecture:interoperability"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-uniform-interface",
          "json": "https://banes-lab.com/json/records/architecture/uniform-interface",
          "label": "Uniform Interface",
          "markdown": "https://banes-lab.com/records/architecture/uniform-interface.md",
          "ref": "architecture:uniform-interface"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-consumer-driven-contracts",
          "json": "https://banes-lab.com/json/records/architecture/consumer-driven-contracts",
          "label": "Consumer-Driven Contracts",
          "markdown": "https://banes-lab.com/records/architecture/consumer-driven-contracts.md",
          "ref": "architecture:consumer-driven-contracts"
        }
      ],
      "relation": "principle"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/schema#layer-contracts-core",
          "json": "https://banes-lab.com/json/records/layer/contracts-core",
          "label": "Contracts Core",
          "markdown": "https://banes-lab.com/records/layer/contracts-core.md",
          "ref": "layer:contracts-core"
        }
      ],
      "relation": "layer"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-category-contracts-interfaces-compatibility",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-contracts-interfaces-compatibility",
          "label": "Contracts / Interfaces / Compatibility",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-contracts-interfaces-compatibility.md",
          "ref": "chapter:/ontology#architecture-category-contracts-interfaces-compatibility"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#the-layer-topology",
          "json": "https://banes-lab.com/json/ontology/schema/the-layer-topology",
          "label": "The layer topology",
          "markdown": "https://banes-lab.com/ontology/schema/the-layer-topology.md",
          "ref": "chapter:/ontology/schema#the-layer-topology"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#the-membership",
          "json": "https://banes-lab.com/json/ontology/schema/the-membership",
          "label": "The membership",
          "markdown": "https://banes-lab.com/ontology/schema/the-membership.md",
          "ref": "chapter:/ontology/schema#the-membership"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "summary": "The Contracts / Interfaces / Compatibility category holds 20 architecture principles.",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/ontology#architecture-category-control-coordination-centralization",
      "json": "https://banes-lab.com/json/records/architecture-category/control-coordination-centralization",
      "label": "Control / Coordination / Centralization",
      "markdown": "https://banes-lab.com/records/architecture-category/control-coordination-centralization.md",
      "ref": "architecture-category:control-coordination-centralization"
    },
    "previous": {
      "href": "https://banes-lab.com/ontology#architecture-category-causality-ordering-distributed-time",
      "json": "https://banes-lab.com/json/records/architecture-category/causality-ordering-distributed-time",
      "label": "Causality / Ordering / Distributed Time",
      "markdown": "https://banes-lab.com/records/architecture-category/causality-ordering-distributed-time.md",
      "ref": "architecture-category:causality-ordering-distributed-time"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/records/architecture-category",
    "label": "Principle categories",
    "markdown": "https://banes-lab.com/api/records/architecture-category.md",
    "ref": "api:records/architecture-category"
  }
}
