<commit_before>---
layout: post
title: Tipos Primitivos nos Argumentos
date: 2017-01-15
description:
  Utilizar tipos primitivos em argumentos de Métodos
  é uma prática que deve ser evitada quando programamos
  Orientado a Objetos.
image: /images/photo-3_i4nvi9d1k-randall-bruder.jpg
categories: 
  - Code
tags:
  - code
  - object pascal
keywords:
  - code
  - código
  - object pascal
  - duplication
  - duplicação
--- 

Se os Objetos conversam entre si utilizando mensagens, 
ou seja, através dos seus Métodos, por que utilizaríamos
Tipos Primitivos nos argumentos desses Métodos ao invés
de utilizarmos Objetos?

<!--more-->

![Unsplash image]({{ page.image }})  

## Introdução {#introducao}

Os Objetos conectam-se uns aos outros através de seus 
[construtores]({% post_url 2016-03-21-construtores-da-classe-primario-secundarios %})
e Métodos, enviando argumentos uns aos outros.

No paradigma da Orientação a Objetos, tudo são Objetos.
Inclusive os argumentos.
Bem, deveriam ser, pelo menos na maioria dos casos.

Imagine um um formulário onde o usuário precisa digitar
seu *login*. Esse formulário, que contém Objetos visuais
para capturar a digitação, irá enviar o *login* digitado
à outro Objeto para validar a identificação.

Seria o *login* um Objeto ou apenas texto?

Você pode pensar que o *login* é apenas uma informação<commit_msg>keywords<commit_after>---
layout: post
title: Tipos Primitivos nos Argumentos
date: 2017-01-16
description:
  Utilizar tipos primitivos em argumentos de Métodos
  é uma prática que deve ser evitada quando programamos
  Orientado a Objetos.
image: /images/photo-3_i4nvi9d1k-randall-bruder.jpg
categories: 
  - Code
tags:
  - code
  - object pascal
keywords:
  - argumentos
  - arguments
  - tipos primitivos
  - primitive obsession
--- 

Se os Objetos conversam entre si utilizando mensagens, 
ou seja, através dos seus Métodos, por que utilizaríamos
Tipos Primitivos nos argumentos desses Métodos ao invés
de utilizarmos Objetos?

<!--more-->

![Unsplash image]({{ page.image }})  

## Introdução {#introducao}

Os Objetos conectam-se uns aos outros através de seus 
[construtores]({% post_url 2016-03-21-construtores-da-classe-primario-secundarios %})
e Métodos, enviando argumentos uns aos outros.

No paradigma da Orientação a Objetos, tudo são Objetos.
Inclusive os argumentos.
Bem, deveriam ser, pelo menos na maioria dos casos.

Imagine um um formulário onde o usuário precisa digitar
seu *login*. Esse formulário, que contém Objetos visuais
para capturar a digitação, irá enviar o *login* digitado
à outro Objeto para validar a identificação.

Seria o *login* um Objeto ou apenas texto?

Você pode pensar que o *login* é apenas uma informação
{'fraction_non_alphanumeric': 0.0715344699777613, 'fraction_numerical': 0.014825796886582653, 'mean_word_length': 4.220502901353965, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6098906', 'n_tokens_mistral': 1006, 'n_tokens_neox': 955, 'n_words': 339}