Skip to main content

Introduction to Architecture: What is architecture?


The pursue of a good understanding of architecture and specially software architecture has been really into my mind for the past few months, and furthermore i have searched the internet for concepts and definitions. only to help get the grasp of what i need to understand. and i found a really good site http://www.codingthearchitecture.com/ it was amazingly simple and very easy in ways this guy defines architecture and inspired by his book which i gladly bought and this website i have decided to write something about it.  

First thing i understood is that you need to understand that architecture in so many ways have the same concept over so many industries whether its software construction..etc
and this whole article is totally applicable to any field architecture is applied to

The word architecture has many different meanings, variations and conceptual definitions searching here and there through friends and internet people seem to have their have these definitions accustomed to what they do or what they need as their work as architects or participants in the architectural phase, and here is a summary of those results,

• The things that are expensive to change
• The things that are difficult to change
• The big picture
• Ability to communicate (abstractions, language, vocabulary)
• A degree of rigidity and solidity
• Systems, subsystems, interactions and interfaces
• The outcome of strategic decisions
• Necessary constraints
• Strategy and vision
• Building blocks
• The system as a whole
• Awareness of environmental constraints and restrictions
• Foundations
• The skeleton/backbone of the product
• An abstract view
• The system as a whole
• The process to achieve a goal
• A blueprint
• Modules, connections, dependencies and interfaces
• Satisfying non-functional requirements/quality attributes
• Everything has “architecture”

Technically there are no end to those really I mean you could up with hundreds and hundreds and still won’t be able to lay your finger on what you are looking for, fortunately for the whole world there are two common themes Architecture as A noun and as A verb


As A Noun

So it can be summed as being about Structure and the decomposition of application into a collection of components and communications , taking into account the whole application as whole, including the foundations and infrastructure services that deal with cross-cutting concerns such as power/water/air conditioning (for a building) or security/configuration/error handling (for a piece of software).

As A Verb

It is about the process, the architecting. So it is defined in terms of what matters or shall I say what is needed to build, make a vision for construction and building and making design decisions and help it to success. So it is just about technical leadership. 

Comments

Popular posts from this blog

Xamarin Forms Core components Part 1 Dependency Service

Intro Xamarin Forms is a collection of controls that can be used and rendered on multiple platforms, and in order of them to function as they are suppose to, they do need a set of core components that defines the way these controls, in how they are created, how they are rendered to how they are used, of course every platform is different and sometimes a platform specific extra configuration is required, specially that there are so many differences between the different platforms in matter of design, user experience and operating system behavior. So one of the core components of  Xamarin  Forms is the Dependency Service, and by the name suggest it does act as the dependency resolver for all forms controls, if you are not familiar with IOC " I nversion O f C ontrol" and Dependency Injection please refer to the link for a quick intro i wrote a while ago on IOC  IOC Part 1 - Inversion of control Principle .  And as of such the Dependency Service is the concrete inboxe

Xamarin Forms: XAML Creating Custom Controls The MVVM Way

Intro For a growing UI page there always comes a need to create sub views that can be used inside a bigger view, and for that we need custom controls, which are controls that are derived either from a layout or a simple view which is the basic control for almost any UI component in Xamarin forms, and therefore for a start i will use that as an example. And in such example we will create a custom control with a set of bindable properties and explain how they work, also how to add an event that can also be bound to Commands Lets Create the control  I have just went ahead and created a custom control that inherits from Xamarin.Forms.View and have some properties such color and checked all properties to be bound to by the ViewModel serving as the datacontext of the this control. here is the code below using System; using Xamarin.Forms; namespace UserControls { public class CustomView : View { public Color Color { get ; set ;

Windows Phone 8 - Application bar command binding MVVM

This is a short post in which i will explain how on Windows phone 8 to bind the application bar button or menu item, first this is only a fix for the  BindableApplicationbar  which supports windows phone 7 only, i just made it support windows 8 no features added or anything. i have uploaded the dll file here so it can be accessible easily here is the link to download http://sdrv.ms/RApUal now that you got the link lets check how we gonna use it you can refer to BinableApplicationbar  or check out the code here that i actually used in my app and i already read it there !  Add a reference to the BindableApplicationBar library here is the link again  http://sdrv.ms/RApUal Add XML namespace declaration in your page's XAML: xmlns : bar ="clr-namespace:BindableApplicationBar;assembly=BindableApplicationBar" Set Bindable.ApplicationBar property on your page code as in the snippet below: < phone : PhoneApplicationPage >     …     < bar : Bindable.App