顯示具有 Java 標籤的文章。 顯示所有文章
顯示具有 Java 標籤的文章。 顯示所有文章

2015年8月27日 星期四

物件導向程式設計導論

所謂偉大軟體
Step1. 讓客戶滿意 做客戶要它做的事情 ,最好確保Step1.已達到,再前進Step2.。
Step2. 應用基本OO原則 (&設計模式) ,增加軟體彈性。(擴充性)
尋找大問題,像是重複程式碼以及壞的類別設計
切記 : 程式架構改善後記得回頭驗證功能性是否依舊。

Step3. 努力達成可維護 可重複利用的設計。

物件導向

列舉
列舉型別 使避免拼字錯誤與大小寫錯誤
就像下拉選單一樣給設計師提供選項


封裝 - 在考慮繼承與多型之前先考慮封裝,因為繼承跟多型這兩種技術與重複程式碼跟封裝都有關

1.每一筆資料是獨特的 不封裝 = > 像是serialNumber 或是 price(價格)...等
2.任何時候看到重複程式碼,就找個地方進行封裝
使用成員變數不想讓應用程式其他部分直接操作 可用private宣告外
會配合封裝使用
封裝將資料與應用程式的行為分離開來.



繼承




多型(為了彈性)
Airplane plane = new Airplane(); //一般
Airplane plane = new Jet();//多型   (其中Jet是繼承Airplane的子類別)







設計原則
OCP->一步一步來
DRY ->不自我重覆
SRP ->單一責任原則
LSP -> Liskov替代原則




設計模式


2013年12月29日 星期日

[Java]Java的Math api各種轉換處理

Math.round  四捨五入運算
Math.floor  無條件捨去
Math.ceil  無條件進位



Math.random  亂數取數

2013年7月13日 星期六

[Android]我的Android工作學習地圖

我的Android學習地圖 2019/03/28更新
現在還不是寫學習回憶錄的時候,但中途檢視&修正&小省思:
        
還記得一開始會跑來學Android完全是因為碩論的實作,傳統DRMPC上根本是老掉牙的議題,甚至後面的雲端運算、雲端系統都覺得有DRM的影子!
剛好20092010那時候Android系統正夯,給定了一個主題就是行動裝置,但其實java開發經驗也寥寥無幾。又更何況是android,跟業界大哥聊天,聊了一下需求--是一個文件管理系統,那我就先從DRM Controler開始,起頭是手邊一個java寫成的Notepad,但界面完全不是那麼一回事,以為是像Netbeans一樣拉一拉真是天真了...
後來認識了一個好用的工具DroidDraw後,依照androidbmi這個專案來用,
後面的開啟文件機制檢查搭配xml讀取大致完成一半,後面加解密卡了一陣子就靠一邊跑步(入伍準備)+思考。於是我順利畢業了。本以為不會再用到。

       
直到第一份工作,一開始就從app開始訓練。我覺得這樣久了也會熟練,分享學習地圖 也希望有經驗的人能指引 看我這樣是否正確 ,獻醜...   : )
======================================================================
[Android雜項 - 非關程式]
l   [Android] Android studio環境設置    (2019/5/4)
l   [Android] Android 應用程式全螢幕作法   (2019/04/22更新)
=======================================================================
[Android
五大Layout]
五大Layout原理架構 survey:http://wisekingokok.iteye.com/blog/1155806  待完成
android viewsetVisibility方法有三種值 
VISIBLE - 常數值0,意思是可見的;INVISIBLE - 常數值4,意思是不可見的;GONE - 常數值8,意思是不可見的,而且不占用布局空間 
l   MediaPlayer(音樂播放ListView(ArrayList)               ← 2013/1/6~2013/1/7
l   [Android]Android FileFilter X SDCard(ListView) (Survey1)(Survey2)未完成
l   自製圖片Layout → 圖片變換效果(Selector)               ← 2013/1/11
l   [Android]Android 應用程式全螢幕作法                 ← 2013/12/26
l    [Android]Android button的一些屬性                       ← 2013/3/14完成
l   [Android] ImageView.ScaleType设置图解      未完成 須整理改寫
l   官網 ImageView.ScaleType Survey
l   Simplelist動態產生SampleListAdapter (Survey1)  (Survey2)  未完成
l   各種Adapter容器的實作 (未完成)
---------------------------REF----------------------------------------
===========================================
[Android四大元件與其生命週期]
l  Activity to Activity(Intent傳遞)  ← 2013/1/22   
l  Activity間用startActivityForResult(intent,requestCode);作回傳 未完成
l   [Android]BroadcastReceiver最基本應用入門       ←2013/3/1完成
l   [Android]BroadcastReceiverUI互動應用           ←2013/3/2完成
l   [Android]Service + BroadcastReceiver的結合運用   未完成
l   [Android]BroadcastReceiver實作Socket傳遞Streaming   未完成
l  [Android]Service Dialog製作                             ← 2013/2/21 已完成
====================================================================
Android訊息顯示( Toast AlertDialog )及處理快顯訊息系統 ( LooperHandlerThread )
1.  Toast           (20130125實作
2.  AlertDialog之章 (20130407) 
3.  [Android]Activity自定義dialog -Theme.Dialog」的實作 Survey Survey2
l   LooperHandlerThread
l  [Android]Looper Handler
l  [Android]Handler控制Alertdialog的顯示
l  Survey4:無痛執行緒
=====================================================================
Android中高階應用 
l  MediaPlayer之章-
3.  Android MediaPlayer(網路電台)
6.  Android MediaPlayer 影片加解密+播放    ←2013/5/11           AES加解密應用
l  軟體應用之章-
1.  [Android]SQLite實作
2. [Android]Hardkey handling and KeyEvent        (2019/3/28更新)
4.  [Android]TouchEven(觸控螢幕onTouchEvent中對ACTION_DOWNACTION_UP的實作)                                        (2013/1/16更新)
l  Android 進階View - Canvas  OpenGL ES
l  底層硬體應用之章
-------------------------------------------------------------------------------
4.   [Android] Remote Procedure Command(RPC)之章
5.   [Android]Android bluetooth藍牙(survey)
6.   [Android]Android GPS  未完成
7.   [Android]Android hard key(透過底層跟硬體按鍵溝通)  未完成
8.   [Android]底層G-sensor運作與溝通   未完成