Swift protocol-oriented programming :: increase productivity and build faster applications with Swift 5 /
The Swift standard library is developed using protocol-oriented programming techniques, generics, and first-class value semantics; therefore it is important that every Swift developer understand these powerful concepts and how to take advantage of them. This book will demonstrate how to use protocol...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham :
Packt Publishing, Limited,
2019.
|
Ausgabe: | Fourth edition. |
Schlagworte: | |
Online-Zugang: | Volltext |
Zusammenfassung: | The Swift standard library is developed using protocol-oriented programming techniques, generics, and first-class value semantics; therefore it is important that every Swift developer understand these powerful concepts and how to take advantage of them. This book will demonstrate how to use protocol-oriented programming techniques to build ... |
Beschreibung: | Understanding the problem |
Beschreibung: | 1 online resource (217 pages) |
Bibliographie: | Includes bibliographical references and index. |
ISBN: | 1789343674 9781789343670 1789349028 9781789349023 |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-on1107590629 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr cnu---unuuu | ||
008 | 190713s2019 enk o 000 0 eng d | ||
040 | |a EBLCP |b eng |e pn |c EBLCP |d TEFOD |d EBLCP |d TEFOD |d OCLCQ |d OCLCF |d YDX |d OCLCQ |d N$T |d OCLCQ |d UK7LJ |d BRF |d OCLCO |d UKMGB |d OCLCO |d NZAUC |d OCLCQ |d OCLCO |d OCLCL |d TMA |d OCLCQ | ||
015 | |a GBC225917 |2 bnb | ||
016 | 7 | |a 019465057 |2 Uk | |
019 | |a 1107534925 |a 1266657253 |a 1267407264 | ||
020 | |a 1789343674 | ||
020 | |a 9781789343670 |q (electronic bk.) | ||
020 | |a 1789349028 | ||
020 | |a 9781789349023 | ||
035 | |a (OCoLC)1107590629 |z (OCoLC)1107534925 |z (OCoLC)1266657253 |z (OCoLC)1267407264 | ||
037 | |a DB9B2BC9-0FFE-43D7-9DFB-A11CC4B1A51D |b OverDrive, Inc. |n http://www.overdrive.com | ||
050 | 4 | |a QA76.73.S95 | |
082 | 7 | |a 005.13/3 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Hoffman, Jon |c (Software engineer) |1 https://id.oclc.org/worldcat/entity/E39PCjFcw3DBRcQWgMMJjwJkpd |0 http://id.loc.gov/authorities/names/no2015159983 | |
245 | 1 | 0 | |a Swift protocol-oriented programming : |b increase productivity and build faster applications with Swift 5 / |c Jon Hoffman. |
250 | |a Fourth edition. | ||
260 | |a Birmingham : |b Packt Publishing, Limited, |c 2019. | ||
300 | |a 1 online resource (217 pages) | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
505 | 0 | |a Cover; Title Page; Copyright and Credits; About Packt; Contributors; Table of Contents; Preface; Chapter 1: Starting with the Protocol; Protocol syntax; Defining a protocol; Property requirements; Method requirements; Optional requirements; Protocol inheritance; Protocol composition; Using protocols as a type; Polymorphism with protocols; Type casting with protocols; Associated types with protocols; Delegation; Designing with protocols; Protocols in the Swift standard library; Summary; Chapter 2: Our Type Choices; Classes; Structures; Access controls; Enumerations; Tuples; Protocols | |
505 | 8 | |a Value and reference typesRecursive data types for reference types only; Inheritance for reference types only; Dynamic dispatch; Swift's built-in types; COW; Summary; Chapter 3: Extensions; Defining an extension; Protocol extensions; Text validation; Extensions with the Swift standard library; Conforming to the Equatable protocol; Summary; Chapter 4: Generics; Generic functions; Type constraints with generics; Generic types; Associated types; Generic subscripts; COW; Generics in a protocol-oriented design; Generics in the Swift standard library; Summary; Chapter 5: Memory Management | |
505 | 8 | |a How ARC worksStrong reference cycles; Unowned references; Weak references; Summary; Chapter 6: Object-Oriented Programming; What is object-oriented programming?; Requirements for the sample code; Swift as an object-oriented programming language; Class diagrams; Object-oriented design; Vehicle superclass; Vehicle subclasses; Polymorphism; Issues with object-oriented design; Summary; Chapter 7: Protocol-Oriented Programming; Requirements for the sample code; Swift as a protocol-oriented programming language; Protocol inheritance; Protocol composition; Protocol extensions; The Vehicle protocol | |
505 | 8 | |a Vehicle implementationsSummarizing protocol-oriented programming and object-oriented programming; Differences between object-oriented programming and protocol-oriented programming; Protocol and protocol extensions compared with superclasses; Implementing vehicle types; Using value and reference types; The winner is ... ; Summary; Chapter 8: Adopting Design Patterns in Swift; What are design patterns?; Creational patterns; The singleton design pattern; Understanding the problem; Understanding the solution; Implementing the singleton pattern; The builder design pattern; Understanding the problem | |
505 | 8 | |a Understanding the solutionImplementing the builder pattern; The factory method pattern; Understanding the problem; Understanding the solution; Implementing the factory method pattern; Structural design patterns; The bridge pattern; Understanding the problem; Understanding the solution; Implementing the bridge pattern; The facade pattern; Understanding the problem; Understanding the solution; Implementing the facade pattern; The proxy design pattern; Understanding the problem; Understanding the solution; Implementing the proxy pattern; Behavioral design patterns; The command design pattern | |
500 | |a Understanding the problem | ||
520 | |a The Swift standard library is developed using protocol-oriented programming techniques, generics, and first-class value semantics; therefore it is important that every Swift developer understand these powerful concepts and how to take advantage of them. This book will demonstrate how to use protocol-oriented programming techniques to build ... | ||
588 | 0 | |a Print version record. | |
504 | |a Includes bibliographical references and index. | ||
650 | 0 | |a Swift (Computer program language) |0 http://id.loc.gov/authorities/subjects/sh2015001571 | |
650 | 0 | |a Application software |x Development. |0 http://id.loc.gov/authorities/subjects/sh95009362 | |
650 | 6 | |a Swift (Langage de programmation) | |
650 | 6 | |a Logiciels d'application |x Développement. | |
650 | 7 | |a Information technology: general issues. |2 bicssc | |
650 | 7 | |a Computer programming / software development. |2 bicssc | |
650 | 7 | |a Mobile & handheld device programming / Apps programming. |2 bicssc | |
650 | 7 | |a Computers. |x General. |2 bisacsh | |
650 | 7 | |a Computers. |x Programming |x General. |2 bisacsh | |
650 | 7 | |a Application software |x Development |2 fast | |
650 | 7 | |a Swift (Computer program language) |2 fast | |
758 | |i has work: |a Swift protocol-oriented programming (Text) |1 https://id.oclc.org/worldcat/entity/E39PCFG4KmydWQHvCcJTtY7dkP |4 https://id.oclc.org/worldcat/ontology/hasWork | ||
776 | 0 | 8 | |i Print version: |a Hoffman, Jon. |t Swift Protocol-Oriented Programming : Increase Productivity and Build Faster Applications with Swift 5, 4th Edition. |d Birmingham : Packt Publishing, Limited, ©2019 |z 9781789349023 |
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2181412 |3 Volltext |
938 | |a ProQuest Ebook Central |b EBLB |n EBL5808103 | ||
938 | |a EBSCOhost |b EBSC |n 2181412 | ||
938 | |a YBP Library Services |b YANK |n 300678211 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-on1107590629 |
---|---|
_version_ | 1816882495715540993 |
adam_text | |
any_adam_object | |
author | Hoffman, Jon (Software engineer) |
author_GND | http://id.loc.gov/authorities/names/no2015159983 |
author_facet | Hoffman, Jon (Software engineer) |
author_role | |
author_sort | Hoffman, Jon (Software engineer) |
author_variant | j h jh |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.S95 |
callnumber-search | QA76.73.S95 |
callnumber-sort | QA 276.73 S95 |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | Cover; Title Page; Copyright and Credits; About Packt; Contributors; Table of Contents; Preface; Chapter 1: Starting with the Protocol; Protocol syntax; Defining a protocol; Property requirements; Method requirements; Optional requirements; Protocol inheritance; Protocol composition; Using protocols as a type; Polymorphism with protocols; Type casting with protocols; Associated types with protocols; Delegation; Designing with protocols; Protocols in the Swift standard library; Summary; Chapter 2: Our Type Choices; Classes; Structures; Access controls; Enumerations; Tuples; Protocols Value and reference typesRecursive data types for reference types only; Inheritance for reference types only; Dynamic dispatch; Swift's built-in types; COW; Summary; Chapter 3: Extensions; Defining an extension; Protocol extensions; Text validation; Extensions with the Swift standard library; Conforming to the Equatable protocol; Summary; Chapter 4: Generics; Generic functions; Type constraints with generics; Generic types; Associated types; Generic subscripts; COW; Generics in a protocol-oriented design; Generics in the Swift standard library; Summary; Chapter 5: Memory Management How ARC worksStrong reference cycles; Unowned references; Weak references; Summary; Chapter 6: Object-Oriented Programming; What is object-oriented programming?; Requirements for the sample code; Swift as an object-oriented programming language; Class diagrams; Object-oriented design; Vehicle superclass; Vehicle subclasses; Polymorphism; Issues with object-oriented design; Summary; Chapter 7: Protocol-Oriented Programming; Requirements for the sample code; Swift as a protocol-oriented programming language; Protocol inheritance; Protocol composition; Protocol extensions; The Vehicle protocol Vehicle implementationsSummarizing protocol-oriented programming and object-oriented programming; Differences between object-oriented programming and protocol-oriented programming; Protocol and protocol extensions compared with superclasses; Implementing vehicle types; Using value and reference types; The winner is ... ; Summary; Chapter 8: Adopting Design Patterns in Swift; What are design patterns?; Creational patterns; The singleton design pattern; Understanding the problem; Understanding the solution; Implementing the singleton pattern; The builder design pattern; Understanding the problem Understanding the solutionImplementing the builder pattern; The factory method pattern; Understanding the problem; Understanding the solution; Implementing the factory method pattern; Structural design patterns; The bridge pattern; Understanding the problem; Understanding the solution; Implementing the bridge pattern; The facade pattern; Understanding the problem; Understanding the solution; Implementing the facade pattern; The proxy design pattern; Understanding the problem; Understanding the solution; Implementing the proxy pattern; Behavioral design patterns; The command design pattern |
ctrlnum | (OCoLC)1107590629 |
dewey-full | 005.13/3 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.13/3 |
dewey-search | 005.13/3 |
dewey-sort | 15.13 13 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | Fourth edition. |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>06441cam a2200673 i 4500</leader><controlfield tag="001">ZDB-4-EBA-on1107590629</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr cnu---unuuu</controlfield><controlfield tag="008">190713s2019 enk o 000 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">EBLCP</subfield><subfield code="b">eng</subfield><subfield code="e">pn</subfield><subfield code="c">EBLCP</subfield><subfield code="d">TEFOD</subfield><subfield code="d">EBLCP</subfield><subfield code="d">TEFOD</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCF</subfield><subfield code="d">YDX</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">N$T</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">UK7LJ</subfield><subfield code="d">BRF</subfield><subfield code="d">OCLCO</subfield><subfield code="d">UKMGB</subfield><subfield code="d">OCLCO</subfield><subfield code="d">NZAUC</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield><subfield code="d">TMA</subfield><subfield code="d">OCLCQ</subfield></datafield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBC225917</subfield><subfield code="2">bnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">019465057</subfield><subfield code="2">Uk</subfield></datafield><datafield tag="019" ind1=" " ind2=" "><subfield code="a">1107534925</subfield><subfield code="a">1266657253</subfield><subfield code="a">1267407264</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1789343674</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781789343670</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1789349028</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781789349023</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1107590629</subfield><subfield code="z">(OCoLC)1107534925</subfield><subfield code="z">(OCoLC)1266657253</subfield><subfield code="z">(OCoLC)1267407264</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">DB9B2BC9-0FFE-43D7-9DFB-A11CC4B1A51D</subfield><subfield code="b">OverDrive, Inc.</subfield><subfield code="n">http://www.overdrive.com</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.73.S95</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.13/3</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Hoffman, Jon</subfield><subfield code="c">(Software engineer)</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCjFcw3DBRcQWgMMJjwJkpd</subfield><subfield code="0">http://id.loc.gov/authorities/names/no2015159983</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Swift protocol-oriented programming :</subfield><subfield code="b">increase productivity and build faster applications with Swift 5 /</subfield><subfield code="c">Jon Hoffman.</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Fourth edition.</subfield></datafield><datafield tag="260" ind1=" " ind2=" "><subfield code="a">Birmingham :</subfield><subfield code="b">Packt Publishing, Limited,</subfield><subfield code="c">2019.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (217 pages)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Cover; Title Page; Copyright and Credits; About Packt; Contributors; Table of Contents; Preface; Chapter 1: Starting with the Protocol; Protocol syntax; Defining a protocol; Property requirements; Method requirements; Optional requirements; Protocol inheritance; Protocol composition; Using protocols as a type; Polymorphism with protocols; Type casting with protocols; Associated types with protocols; Delegation; Designing with protocols; Protocols in the Swift standard library; Summary; Chapter 2: Our Type Choices; Classes; Structures; Access controls; Enumerations; Tuples; Protocols</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Value and reference typesRecursive data types for reference types only; Inheritance for reference types only; Dynamic dispatch; Swift's built-in types; COW; Summary; Chapter 3: Extensions; Defining an extension; Protocol extensions; Text validation; Extensions with the Swift standard library; Conforming to the Equatable protocol; Summary; Chapter 4: Generics; Generic functions; Type constraints with generics; Generic types; Associated types; Generic subscripts; COW; Generics in a protocol-oriented design; Generics in the Swift standard library; Summary; Chapter 5: Memory Management</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">How ARC worksStrong reference cycles; Unowned references; Weak references; Summary; Chapter 6: Object-Oriented Programming; What is object-oriented programming?; Requirements for the sample code; Swift as an object-oriented programming language; Class diagrams; Object-oriented design; Vehicle superclass; Vehicle subclasses; Polymorphism; Issues with object-oriented design; Summary; Chapter 7: Protocol-Oriented Programming; Requirements for the sample code; Swift as a protocol-oriented programming language; Protocol inheritance; Protocol composition; Protocol extensions; The Vehicle protocol</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Vehicle implementationsSummarizing protocol-oriented programming and object-oriented programming; Differences between object-oriented programming and protocol-oriented programming; Protocol and protocol extensions compared with superclasses; Implementing vehicle types; Using value and reference types; The winner is ... ; Summary; Chapter 8: Adopting Design Patterns in Swift; What are design patterns?; Creational patterns; The singleton design pattern; Understanding the problem; Understanding the solution; Implementing the singleton pattern; The builder design pattern; Understanding the problem</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Understanding the solutionImplementing the builder pattern; The factory method pattern; Understanding the problem; Understanding the solution; Implementing the factory method pattern; Structural design patterns; The bridge pattern; Understanding the problem; Understanding the solution; Implementing the bridge pattern; The facade pattern; Understanding the problem; Understanding the solution; Implementing the facade pattern; The proxy design pattern; Understanding the problem; Understanding the solution; Implementing the proxy pattern; Behavioral design patterns; The command design pattern</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Understanding the problem</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">The Swift standard library is developed using protocol-oriented programming techniques, generics, and first-class value semantics; therefore it is important that every Swift developer understand these powerful concepts and how to take advantage of them. This book will demonstrate how to use protocol-oriented programming techniques to build ...</subfield></datafield><datafield tag="588" ind1="0" ind2=" "><subfield code="a">Print version record.</subfield></datafield><datafield tag="504" ind1=" " ind2=" "><subfield code="a">Includes bibliographical references and index.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Swift (Computer program language)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh2015001571</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Application software</subfield><subfield code="x">Development.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh95009362</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Swift (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Logiciels d'application</subfield><subfield code="x">Développement.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Information technology: general issues.</subfield><subfield code="2">bicssc</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computer programming / software development.</subfield><subfield code="2">bicssc</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Mobile & handheld device programming / Apps programming.</subfield><subfield code="2">bicssc</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computers.</subfield><subfield code="x">General.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computers.</subfield><subfield code="x">Programming</subfield><subfield code="x">General.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Application software</subfield><subfield code="x">Development</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Swift (Computer program language)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="758" ind1=" " ind2=" "><subfield code="i">has work:</subfield><subfield code="a">Swift protocol-oriented programming (Text)</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCFG4KmydWQHvCcJTtY7dkP</subfield><subfield code="4">https://id.oclc.org/worldcat/ontology/hasWork</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Print version:</subfield><subfield code="a">Hoffman, Jon.</subfield><subfield code="t">Swift Protocol-Oriented Programming : Increase Productivity and Build Faster Applications with Swift 5, 4th Edition.</subfield><subfield code="d">Birmingham : Packt Publishing, Limited, ©2019</subfield><subfield code="z">9781789349023</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2181412</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">ProQuest Ebook Central</subfield><subfield code="b">EBLB</subfield><subfield code="n">EBL5808103</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">2181412</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">YBP Library Services</subfield><subfield code="b">YANK</subfield><subfield code="n">300678211</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-on1107590629 |
illustrated | Not Illustrated |
indexdate | 2024-11-27T13:29:31Z |
institution | BVB |
isbn | 1789343674 9781789343670 1789349028 9781789349023 |
language | English |
oclc_num | 1107590629 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource (217 pages) |
psigel | ZDB-4-EBA |
publishDate | 2019 |
publishDateSearch | 2019 |
publishDateSort | 2019 |
publisher | Packt Publishing, Limited, |
record_format | marc |
spelling | Hoffman, Jon (Software engineer) https://id.oclc.org/worldcat/entity/E39PCjFcw3DBRcQWgMMJjwJkpd http://id.loc.gov/authorities/names/no2015159983 Swift protocol-oriented programming : increase productivity and build faster applications with Swift 5 / Jon Hoffman. Fourth edition. Birmingham : Packt Publishing, Limited, 2019. 1 online resource (217 pages) text txt rdacontent computer c rdamedia online resource cr rdacarrier Cover; Title Page; Copyright and Credits; About Packt; Contributors; Table of Contents; Preface; Chapter 1: Starting with the Protocol; Protocol syntax; Defining a protocol; Property requirements; Method requirements; Optional requirements; Protocol inheritance; Protocol composition; Using protocols as a type; Polymorphism with protocols; Type casting with protocols; Associated types with protocols; Delegation; Designing with protocols; Protocols in the Swift standard library; Summary; Chapter 2: Our Type Choices; Classes; Structures; Access controls; Enumerations; Tuples; Protocols Value and reference typesRecursive data types for reference types only; Inheritance for reference types only; Dynamic dispatch; Swift's built-in types; COW; Summary; Chapter 3: Extensions; Defining an extension; Protocol extensions; Text validation; Extensions with the Swift standard library; Conforming to the Equatable protocol; Summary; Chapter 4: Generics; Generic functions; Type constraints with generics; Generic types; Associated types; Generic subscripts; COW; Generics in a protocol-oriented design; Generics in the Swift standard library; Summary; Chapter 5: Memory Management How ARC worksStrong reference cycles; Unowned references; Weak references; Summary; Chapter 6: Object-Oriented Programming; What is object-oriented programming?; Requirements for the sample code; Swift as an object-oriented programming language; Class diagrams; Object-oriented design; Vehicle superclass; Vehicle subclasses; Polymorphism; Issues with object-oriented design; Summary; Chapter 7: Protocol-Oriented Programming; Requirements for the sample code; Swift as a protocol-oriented programming language; Protocol inheritance; Protocol composition; Protocol extensions; The Vehicle protocol Vehicle implementationsSummarizing protocol-oriented programming and object-oriented programming; Differences between object-oriented programming and protocol-oriented programming; Protocol and protocol extensions compared with superclasses; Implementing vehicle types; Using value and reference types; The winner is ... ; Summary; Chapter 8: Adopting Design Patterns in Swift; What are design patterns?; Creational patterns; The singleton design pattern; Understanding the problem; Understanding the solution; Implementing the singleton pattern; The builder design pattern; Understanding the problem Understanding the solutionImplementing the builder pattern; The factory method pattern; Understanding the problem; Understanding the solution; Implementing the factory method pattern; Structural design patterns; The bridge pattern; Understanding the problem; Understanding the solution; Implementing the bridge pattern; The facade pattern; Understanding the problem; Understanding the solution; Implementing the facade pattern; The proxy design pattern; Understanding the problem; Understanding the solution; Implementing the proxy pattern; Behavioral design patterns; The command design pattern Understanding the problem The Swift standard library is developed using protocol-oriented programming techniques, generics, and first-class value semantics; therefore it is important that every Swift developer understand these powerful concepts and how to take advantage of them. This book will demonstrate how to use protocol-oriented programming techniques to build ... Print version record. Includes bibliographical references and index. Swift (Computer program language) http://id.loc.gov/authorities/subjects/sh2015001571 Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 Swift (Langage de programmation) Logiciels d'application Développement. Information technology: general issues. bicssc Computer programming / software development. bicssc Mobile & handheld device programming / Apps programming. bicssc Computers. General. bisacsh Computers. Programming General. bisacsh Application software Development fast Swift (Computer program language) fast has work: Swift protocol-oriented programming (Text) https://id.oclc.org/worldcat/entity/E39PCFG4KmydWQHvCcJTtY7dkP https://id.oclc.org/worldcat/ontology/hasWork Print version: Hoffman, Jon. Swift Protocol-Oriented Programming : Increase Productivity and Build Faster Applications with Swift 5, 4th Edition. Birmingham : Packt Publishing, Limited, ©2019 9781789349023 FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2181412 Volltext |
spellingShingle | Hoffman, Jon (Software engineer) Swift protocol-oriented programming : increase productivity and build faster applications with Swift 5 / Cover; Title Page; Copyright and Credits; About Packt; Contributors; Table of Contents; Preface; Chapter 1: Starting with the Protocol; Protocol syntax; Defining a protocol; Property requirements; Method requirements; Optional requirements; Protocol inheritance; Protocol composition; Using protocols as a type; Polymorphism with protocols; Type casting with protocols; Associated types with protocols; Delegation; Designing with protocols; Protocols in the Swift standard library; Summary; Chapter 2: Our Type Choices; Classes; Structures; Access controls; Enumerations; Tuples; Protocols Value and reference typesRecursive data types for reference types only; Inheritance for reference types only; Dynamic dispatch; Swift's built-in types; COW; Summary; Chapter 3: Extensions; Defining an extension; Protocol extensions; Text validation; Extensions with the Swift standard library; Conforming to the Equatable protocol; Summary; Chapter 4: Generics; Generic functions; Type constraints with generics; Generic types; Associated types; Generic subscripts; COW; Generics in a protocol-oriented design; Generics in the Swift standard library; Summary; Chapter 5: Memory Management How ARC worksStrong reference cycles; Unowned references; Weak references; Summary; Chapter 6: Object-Oriented Programming; What is object-oriented programming?; Requirements for the sample code; Swift as an object-oriented programming language; Class diagrams; Object-oriented design; Vehicle superclass; Vehicle subclasses; Polymorphism; Issues with object-oriented design; Summary; Chapter 7: Protocol-Oriented Programming; Requirements for the sample code; Swift as a protocol-oriented programming language; Protocol inheritance; Protocol composition; Protocol extensions; The Vehicle protocol Vehicle implementationsSummarizing protocol-oriented programming and object-oriented programming; Differences between object-oriented programming and protocol-oriented programming; Protocol and protocol extensions compared with superclasses; Implementing vehicle types; Using value and reference types; The winner is ... ; Summary; Chapter 8: Adopting Design Patterns in Swift; What are design patterns?; Creational patterns; The singleton design pattern; Understanding the problem; Understanding the solution; Implementing the singleton pattern; The builder design pattern; Understanding the problem Understanding the solutionImplementing the builder pattern; The factory method pattern; Understanding the problem; Understanding the solution; Implementing the factory method pattern; Structural design patterns; The bridge pattern; Understanding the problem; Understanding the solution; Implementing the bridge pattern; The facade pattern; Understanding the problem; Understanding the solution; Implementing the facade pattern; The proxy design pattern; Understanding the problem; Understanding the solution; Implementing the proxy pattern; Behavioral design patterns; The command design pattern Swift (Computer program language) http://id.loc.gov/authorities/subjects/sh2015001571 Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 Swift (Langage de programmation) Logiciels d'application Développement. Information technology: general issues. bicssc Computer programming / software development. bicssc Mobile & handheld device programming / Apps programming. bicssc Computers. General. bisacsh Computers. Programming General. bisacsh Application software Development fast Swift (Computer program language) fast |
subject_GND | http://id.loc.gov/authorities/subjects/sh2015001571 http://id.loc.gov/authorities/subjects/sh95009362 |
title | Swift protocol-oriented programming : increase productivity and build faster applications with Swift 5 / |
title_auth | Swift protocol-oriented programming : increase productivity and build faster applications with Swift 5 / |
title_exact_search | Swift protocol-oriented programming : increase productivity and build faster applications with Swift 5 / |
title_full | Swift protocol-oriented programming : increase productivity and build faster applications with Swift 5 / Jon Hoffman. |
title_fullStr | Swift protocol-oriented programming : increase productivity and build faster applications with Swift 5 / Jon Hoffman. |
title_full_unstemmed | Swift protocol-oriented programming : increase productivity and build faster applications with Swift 5 / Jon Hoffman. |
title_short | Swift protocol-oriented programming : |
title_sort | swift protocol oriented programming increase productivity and build faster applications with swift 5 |
title_sub | increase productivity and build faster applications with Swift 5 / |
topic | Swift (Computer program language) http://id.loc.gov/authorities/subjects/sh2015001571 Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 Swift (Langage de programmation) Logiciels d'application Développement. Information technology: general issues. bicssc Computer programming / software development. bicssc Mobile & handheld device programming / Apps programming. bicssc Computers. General. bisacsh Computers. Programming General. bisacsh Application software Development fast Swift (Computer program language) fast |
topic_facet | Swift (Computer program language) Application software Development. Swift (Langage de programmation) Logiciels d'application Développement. Information technology: general issues. Computer programming / software development. Mobile & handheld device programming / Apps programming. Computers. General. Computers. Programming General. Application software Development |
url | https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2181412 |
work_keys_str_mv | AT hoffmanjon swiftprotocolorientedprogrammingincreaseproductivityandbuildfasterapplicationswithswift5 |