{"id":20605165,"url":"https://github.com/arnab-developer/multilayeredarchitecture","last_synced_at":"2026-04-22T04:31:27.444Z","repository":{"id":7818464,"uuid":"9189341","full_name":"Arnab-Developer/MultilayeredArchitecture","owner":"Arnab-Developer","description":"A sample to show how multilayered architecture can be implemented in software development.","archived":false,"fork":false,"pushed_at":"2022-03-06T16:37:29.000Z","size":1232,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-06T16:54:43.836Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"luisfarzati/ng-bs-daterangepicker","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Arnab-Developer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-04-03T07:40:22.000Z","updated_at":"2022-03-06T16:37:33.000Z","dependencies_parsed_at":"2022-08-30T03:01:22.050Z","dependency_job_id":null,"html_url":"https://github.com/Arnab-Developer/MultilayeredArchitecture","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Arnab-Developer/MultilayeredArchitecture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnab-Developer%2FMultilayeredArchitecture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnab-Developer%2FMultilayeredArchitecture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnab-Developer%2FMultilayeredArchitecture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnab-Developer%2FMultilayeredArchitecture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Arnab-Developer","download_url":"https://codeload.github.com/Arnab-Developer/MultilayeredArchitecture/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arnab-Developer%2FMultilayeredArchitecture/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32120876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T00:31:26.853Z","status":"online","status_checked_at":"2026-04-22T02:00:05.693Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T09:26:54.532Z","updated_at":"2026-04-22T04:31:27.429Z","avatar_url":"https://github.com/Arnab-Developer.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Multilayered Architecture\n\nA sample to show how multilayered architecture can be implemented in software development.\n\nMultilayered application is a particular type of software designing procedure in software engineering. \nIn multilayered application we generally use three layers.\n\n1. Data Access Layer (DAL) \n2. Business Logic Layer (BLL) \n3. User Interface Layer (UI) \n\nThis can be sub divided in more layers depending on your application requirements. We write code for data access \nin DAL. Business logic for our application in BLL and user interface in UI. The advantage is that if there is a \nchange in application business logic or data access or UI logic then we have to recompile the particular component \nonly. So we implement this architecture to make our code maintainable. One other point is that I am also defining \nan interface for every component through which the calling component can interact. That means I decouple the \nservice contract and the actual implementation of that contract. The calling component that will use that component \nwill actually use the service contract (the interface) not the actual implementation. That is the benefit of \ninterface which is in the definition: Interface is a service contract between service provider and service consumer. \nThe service consumer does not need to know about the implementation details. They will only dealing with the service \ncontract which is defined in the interface.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnab-developer%2Fmultilayeredarchitecture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farnab-developer%2Fmultilayeredarchitecture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnab-developer%2Fmultilayeredarchitecture/lists"}