Coupling &&Cohesion

Bağlaşım (Coupling): Baglasim birden fazla nesne arasındaki ilişkiyi temsil etmektedir.İyi dizayn edilmiş iki sınıf arasında bağımlılık ne kadar az olursa maliyet bakım daha kolay olur. İki sınıf arasındaki bağlantının az olmasına loosely coupled denir.Loosely coupled icin değişik teknikler uygulanmaktır (interface ,inheritance vs)

Yapışkanlık (Cohesion): Bir önceki Loosely coupled nesneler arasi ilişkilerin ne kadar az olursa bizim acımızdan daha iyi oldugunu söylemiştik. Yapışkanlıkta ise nesneler ici özelliklerin birbiriyle ne kadar bağımlı olursa daha iyi olur. Birden fazla görevi yapan ve birbirinden farklı özellikler bulunuyorsa yapışkanlık özelliğini kaybetmiş oluruz.

JDK 8 İle Gelen Yenilikler

Nashorn JavaScript Engine

Yeni kullanıslı, dizayn, edilmis yüksek performansli,bir JavaScript JDK icine entegre edilmistir. Bu yeni motor javax.script API altinda mevcuttur.

Date & Time API

Yeni takvim ve saat api Java SE icinde.

JDBC 4.2

JDBC kucuk capli gelistirmeler yapilmistir.

Configurable Secure Random-Number Generation

Guvenli rastgele sayi uretimi icin niteligi ve kazanimi getirilmistir.

Stronger Algorithms for Password-Based Encryption

Guclu (PBE) sifreleme algoritmalari getirilmistir.

Base64 Encoding & Decoding

Yeni Base64 encoding and decoding tanimlanmistir.

Java Misson Control

Java yazilimlarinizi kontrol edebileceginiz bir programm.Kullanilan bellek alanlari vs.

Java Dıs Dongu..

Javada degisik bir olayla karsılastım bunu paylasmak istiyorum.

 

public class Main {

/**
* @param args
*/
public static void main(String[] args) {
disDongu:
for(int i=10;i<=30;i+=10){
icDongu:
for(int j=1;j<=3;j+=1){
int k=i+j;
if(k==21){
continue disDongu;
}
System.out.println(k);
}
}

}

}

 

Görüldügü üzere disDongu ve icDongu etiketleri vererek hata almadan sonuca ulastık.21 esit oldugu zaman dısDonguye geciyor ve oradan devam ediyor.

Insan-Bilgisayar Etkilesimi -Norman Modeli

  • En etkili modeldir.
  • Zamanla bu model geliştirilerek başka modeller ortaya konulmuştur.
  • Kullanıcı yapacağına karar verir,
  • Bilgisayar arayüzü ile bunu uygular,
    Uygulama sonucunu gözlemler,
    Sonucu değerlendirerek sonraki adıma karar verir.

NORMAN MODELİ BASAMAKLARI

  1. 1.Hedefi belirlemek
    2.Amacı şekillendirmek
    3.Yapılacak eylemlerin sırasını belirlemek
    4.Eylemleri gerçekleştirmek
    5.Sistemin durumunu kavramak
    6.Sistemin durumunu yorumlamak
    7.Amaç ve hedef doğrultusunda sistem durumunu değerlendirmek.

Kullanıcı ile Sistem Arasındaki Sorun Durumları

Uygulama Uçurumları : Kullanıcının hedefe ulaşmak için planladığı eylemler ile sistemin yapılmasına izin verdiği eylemler arasındaki farktır.
lDeğerlendirme Uçurumları : Kullanıcının beklentisi ile sistemin fiziksel sunumu arasındaki uzaklıktır. Kullanıcı sistemin sunumunu kendi hedefi doğrultusunda kolayca değerlendirebiliyorsa bu uçurum küçüktür.

 

Insan-Bilgisayar Etkilesimi

Human–computer interaction (HCI) insan ile bilgisayar arasındaki calısma,tasarim ve etkilesimi kapsar.İnsanın ve bilgisayarın etkileşimi, arayüzler aracılığı ile gerçekleşir. Insan ıle makıneler arasında dızayn cok önemlidir yanlıs konumanlandırmada hayatı tehlıkelere yol acabılır. Amerikada meydana gelen Three Mile Island accident nükleer kazası bunlara örnek gösterilebilir. Detaylara girmeden önce bazı terimlerden bahsetmekte fayda var.

Goal**Ne
Domain **Nerede
Task** Nasıl
Core Language: Sistemin dili
Task Language: Kullanıcı Dili
Peki Bizim Amacımız NE**Goal
Güvenli,Effektif,Kullanılabilir,Sade,Kolay ögrenilebilir sistemler tasarlamak .

Spring Dependency Injection with Constructor

When writing a complex Java application, application classes should be as independent as possible of other Java classes to increase the possibility to   reuse these classes and to test them independently of other classes while doing unit testing.  Dependency Injection helps in gluing these classes together and
same time keeping them independent

Spring provides Two ways of Dependency injection

1. Constructor based

Constructor-based DI is accomplished when the container invokes a class constructor with a number of arguments, each representing a dependency on other class.

2. Setter method

Setter-based DI is accomplished by the container calling setter methods on your beans after invoking a no-argument constructor or no-argument static factory method to instantiate your bean.

Here is one simple example for constructor based dependency injection.Firstly we will make Constructor example.

IHotDrink Interface

 

package Spring;

public interface IHotDrink {
public void hazirla();
}

package Spring;

public class Tea implements IHotDrink {

@Override
public void hazirla() {
System.out.println(“HAZIRLIYORUZ”);

}

}

package Spring;

public class Restaurant {
IHotDrink IHotDrink;

Restaurant(IHotDrink IHotDrink){
this.IHotDrink=IHotDrink;
}
public void hazirla() {
IHotDrink.hazirla();

}
}

package Spring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestSpringClass {

/**
* @param args
*/
public static void main(String[] args) {
ApplicationContext appContext = new ClassPathXmlApplicationContext(“SpringConfiguration.xml”);
Restaurant deneme=(Restaurant) appContext.getBean(“RestaurantBean”);
deneme.hazirla();
}

}

 

Spring Hello World !

You have create a package after that you need two classes that name is main.java and Restaturant.java

 

package Spring;

public class Restaurant {
String Welcome;

public void SetWelcome(String Welcome){
this.Welcome=Welcome;
}

public void deneme(){

System.out.println(Welcome);

}
}

package Spring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestSpringClass {

/**
* @param args
*/
public static void main(String[] args) {
ApplicationContext appContext = new ClassPathXmlApplicationContext(“SpringConfiguration.xml”);
Restaurant deneme=(Restaurant) appContext.getBean(“RestaurantBean”);
deneme.deneme();
}

}


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

Spring Tutorial SetUp

Firstly , i am going to give some informatin about Spring. Spring is so populer Java Framework in the world.

What is the Spring ?

The Spring Framework is an open source application framework and inversion of control container for the Java platform<W>

You can find more details in here

1-Set up

Download it and add your project this jar file

Spring Jar

 

 

 

 

 

 

 

 

 

 

 

 

 

Local Ip Adress in Java

Java Local Ip Address.

 

import java.net.InetAddress;
import java.net.UnknownHostException;

public class Main {

/**
* @param args
* @throws UnknownHostException
*/
public static void main(String[] args) throws UnknownHostException {

System.out.println(InetAddress.getLocalHost());

}

}

How to find current OS System in Java

Maybe one day it can be useful for us.This code shows us how to find current OS(Operating System).

String currentOs = System.getProperty(“os.name”);

System.out.println(currentOs);